/dragonfly/sys/dev/virtual/hyperv/vmbus/ |
H A D | vmbus_reg.h | e3c41896 Mon Jun 13 01:58:01 GMT 2016 Sepherosa Ziehau <sephe@dragonflybsd.org> hyperv/vmbus: Complete vmbus initialization; interrupt cputimer is enabled
Most of the bits are obtained from FreeBSD. However, The interrupt bits are reworked: - Since the vmbus message/event interrupt works in the same fashion as MSI-X, we just allocate MSI-X for them, instead of allocating IDT vector, rolling vmbus own interrupt vector and turning the interrupt handling inside-out. The standard and generic bus APIs are used to allocate and setup per-cpu vmbus interrupt. - Interrupt cputimer reuses the current per-cpu interrupt timer code. - AutoEOI is not used, since we reuse the per-cpu interrupt timer IDT vector and MSI IDT vector. After a brief discussion w/ Dexuan Cui, I concluded that AutoEOI probably does not provide noticible performance improvement but will introduce extra code complexity. We leave it off for now.
Obtained-from: FreeBSD (mostly)
|
H A D | vmbus_var.h | e3c41896 Mon Jun 13 01:58:01 GMT 2016 Sepherosa Ziehau <sephe@dragonflybsd.org> hyperv/vmbus: Complete vmbus initialization; interrupt cputimer is enabled
Most of the bits are obtained from FreeBSD. However, The interrupt bits are reworked: - Since the vmbus message/event interrupt works in the same fashion as MSI-X, we just allocate MSI-X for them, instead of allocating IDT vector, rolling vmbus own interrupt vector and turning the interrupt handling inside-out. The standard and generic bus APIs are used to allocate and setup per-cpu vmbus interrupt. - Interrupt cputimer reuses the current per-cpu interrupt timer code. - AutoEOI is not used, since we reuse the per-cpu interrupt timer IDT vector and MSI IDT vector. After a brief discussion w/ Dexuan Cui, I concluded that AutoEOI probably does not provide noticible performance improvement but will introduce extra code complexity. We leave it off for now.
Obtained-from: FreeBSD (mostly)
|
H A D | Makefile | e3c41896 Mon Jun 13 01:58:01 GMT 2016 Sepherosa Ziehau <sephe@dragonflybsd.org> hyperv/vmbus: Complete vmbus initialization; interrupt cputimer is enabled
Most of the bits are obtained from FreeBSD. However, The interrupt bits are reworked: - Since the vmbus message/event interrupt works in the same fashion as MSI-X, we just allocate MSI-X for them, instead of allocating IDT vector, rolling vmbus own interrupt vector and turning the interrupt handling inside-out. The standard and generic bus APIs are used to allocate and setup per-cpu vmbus interrupt. - Interrupt cputimer reuses the current per-cpu interrupt timer code. - AutoEOI is not used, since we reuse the per-cpu interrupt timer IDT vector and MSI IDT vector. After a brief discussion w/ Dexuan Cui, I concluded that AutoEOI probably does not provide noticible performance improvement but will introduce extra code complexity. We leave it off for now.
Obtained-from: FreeBSD (mostly)
|
H A D | vmbus.c | e3c41896 Mon Jun 13 01:58:01 GMT 2016 Sepherosa Ziehau <sephe@dragonflybsd.org> hyperv/vmbus: Complete vmbus initialization; interrupt cputimer is enabled
Most of the bits are obtained from FreeBSD. However, The interrupt bits are reworked: - Since the vmbus message/event interrupt works in the same fashion as MSI-X, we just allocate MSI-X for them, instead of allocating IDT vector, rolling vmbus own interrupt vector and turning the interrupt handling inside-out. The standard and generic bus APIs are used to allocate and setup per-cpu vmbus interrupt. - Interrupt cputimer reuses the current per-cpu interrupt timer code. - AutoEOI is not used, since we reuse the per-cpu interrupt timer IDT vector and MSI IDT vector. After a brief discussion w/ Dexuan Cui, I concluded that AutoEOI probably does not provide noticible performance improvement but will introduce extra code complexity. We leave it off for now.
Obtained-from: FreeBSD (mostly)
|
/dragonfly/sys/platform/pc64/include/ |
H A D | msi_machdep.h | e3c41896 Mon Jun 13 01:58:01 GMT 2016 Sepherosa Ziehau <sephe@dragonflybsd.org> hyperv/vmbus: Complete vmbus initialization; interrupt cputimer is enabled
Most of the bits are obtained from FreeBSD. However, The interrupt bits are reworked: - Since the vmbus message/event interrupt works in the same fashion as MSI-X, we just allocate MSI-X for them, instead of allocating IDT vector, rolling vmbus own interrupt vector and turning the interrupt handling inside-out. The standard and generic bus APIs are used to allocate and setup per-cpu vmbus interrupt. - Interrupt cputimer reuses the current per-cpu interrupt timer code. - AutoEOI is not used, since we reuse the per-cpu interrupt timer IDT vector and MSI IDT vector. After a brief discussion w/ Dexuan Cui, I concluded that AutoEOI probably does not provide noticible performance improvement but will introduce extra code complexity. We leave it off for now.
Obtained-from: FreeBSD (mostly)
|
/dragonfly/sys/platform/pc64/x86_64/ |
H A D | msi.c | e3c41896 Mon Jun 13 01:58:01 GMT 2016 Sepherosa Ziehau <sephe@dragonflybsd.org> hyperv/vmbus: Complete vmbus initialization; interrupt cputimer is enabled
Most of the bits are obtained from FreeBSD. However, The interrupt bits are reworked: - Since the vmbus message/event interrupt works in the same fashion as MSI-X, we just allocate MSI-X for them, instead of allocating IDT vector, rolling vmbus own interrupt vector and turning the interrupt handling inside-out. The standard and generic bus APIs are used to allocate and setup per-cpu vmbus interrupt. - Interrupt cputimer reuses the current per-cpu interrupt timer code. - AutoEOI is not used, since we reuse the per-cpu interrupt timer IDT vector and MSI IDT vector. After a brief discussion w/ Dexuan Cui, I concluded that AutoEOI probably does not provide noticible performance improvement but will introduce extra code complexity. We leave it off for now.
Obtained-from: FreeBSD (mostly)
|
/dragonfly/sys/sys/ |
H A D | systimer.h | e3c41896 Mon Jun 13 01:58:01 GMT 2016 Sepherosa Ziehau <sephe@dragonflybsd.org> hyperv/vmbus: Complete vmbus initialization; interrupt cputimer is enabled
Most of the bits are obtained from FreeBSD. However, The interrupt bits are reworked: - Since the vmbus message/event interrupt works in the same fashion as MSI-X, we just allocate MSI-X for them, instead of allocating IDT vector, rolling vmbus own interrupt vector and turning the interrupt handling inside-out. The standard and generic bus APIs are used to allocate and setup per-cpu vmbus interrupt. - Interrupt cputimer reuses the current per-cpu interrupt timer code. - AutoEOI is not used, since we reuse the per-cpu interrupt timer IDT vector and MSI IDT vector. After a brief discussion w/ Dexuan Cui, I concluded that AutoEOI probably does not provide noticible performance improvement but will introduce extra code complexity. We leave it off for now.
Obtained-from: FreeBSD (mostly)
|