5ba0615c03
pic_eoi_source() into one call. This halves the number of spinlock operations and indirect function calls in the normal case of handling a normal (ithread) interrupt. Optimize the atpic and ioapic drivers to use inlines where appropriate in supporting the intr_execute_handlers() change. This knocks 900ns, or roughly 1350 cycles, off of the time spent servicing an interrupt in the common case on my 1.5GHz P4 uniprocessor system. SMP systems likely won't see as much of a gain due to the ioapic being more efficient than the atpic. I'll investigate porting this to amd64 soon. Reviewed by: jhb |
||
---|---|---|
.. | ||
ic | ||
pcvt | ||
atpic_vector.s | ||
atpic.c | ||
ccbque.h | ||
clock.c | ||
elcr.c | ||
elink.c | ||
elink.h | ||
icu.h | ||
if_el.c | ||
if_elreg.h | ||
isa_dma.c | ||
isa_dma.h | ||
isa.c | ||
isa.h | ||
lptreg.h | ||
mse.c | ||
nmi.c | ||
npx.c | ||
pcf.c | ||
pmtimer.c | ||
prof_machdep.c | ||
spic.c | ||
spicreg.h | ||
spkr.c | ||
timerreg.h | ||
vesa.c |