freebsd-skq/sys/i386/isa
Scott Long 5ba0615c03 Optimize intr_execute_handlers() by combining the pic_disable_source() and
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
2004-08-02 15:31:10 +00:00
..
ic Remove old cy driver files. They have been repo-copied to sys/dev/cy and 2004-05-02 05:38:49 +00:00
pcvt Preparation commit for the tty cleanups that will follow in the near 2004-07-15 20:47:41 +00:00
atpic_vector.s MFamd64: 2004-05-26 07:43:41 +00:00
atpic.c Optimize intr_execute_handlers() by combining the pic_disable_source() and 2004-08-02 15:31:10 +00:00
ccbque.h
clock.c Partially revert previous commit. Calling getit() unconditionally fixed 2004-07-11 17:50:59 +00:00
elcr.c Add a simple mini-driver for the ELCR register. Originally, the ELCR 2004-05-04 20:07:46 +00:00
elink.c Use __FBSDID(). 2003-06-02 16:32:55 +00:00
elink.h - Change ELINK_ID_PORT; the 3c507 likes 0x100 better. 2003-03-29 13:18:20 +00:00
icu.h - Move some macros from icu.h into atpic.c as that is the only place they 2004-05-11 20:23:24 +00:00
if_el.c Add missing #include <sys/module.h> 2004-05-30 20:34:58 +00:00
if_elreg.h
isa_dma.c Something funny happened on the way to the floppy driver today... 2004-07-05 20:37:42 +00:00
isa_dma.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
isa.c Don't define __RMAN_RESOURCE_VISISBLE. They aren't needed here after 2004-07-03 20:11:49 +00:00
isa.h Remove now obsolete port assignments and sizes. These more properly 2004-07-05 18:39:30 +00:00
lptreg.h
mse.c Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
nmi.c Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
npx.c Clear any pending exceptions before using frstor (in the non-FXSR case) 2004-06-19 22:24:16 +00:00
pcf.c Remove isa compat stuff. 2004-03-14 23:03:57 +00:00
pmtimer.c Add some missing <sys/module.h> includes which are masked by the 2004-05-30 17:57:46 +00:00
prof_machdep.c Quick fix for overflow when tsc_freq >= 2^31. "int profrate" in struct 2004-05-26 09:43:38 +00:00
spic.c Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
spicreg.h Device megapatch 1/6: 2004-02-21 19:42:58 +00:00
spkr.c Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
timerreg.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
vesa.c Do a pass over all modules in the kernel and make them return EOPNOTSUPP 2004-07-15 08:26:07 +00:00