freebsd-nq/sys
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
..
alpha Remove extraneous ';'. 2004-08-01 18:51:44 +00:00
amd64 Fix the build by providing 'PHYS_TO_DMAP' and 'M_MEMDESC'. 2004-08-02 02:07:20 +00:00
arm *blush* 2004-08-02 12:24:18 +00:00
boot Add PowerPC bridge instruction flag to the assembler to help out 2004-08-02 03:06:21 +00:00
cam Quirk for SEGRAND NP-900 USB MP3Player 2004-07-18 05:39:14 +00:00
coda Put a version element in the VFS filesystem configuration structure 2004-07-30 22:08:52 +00:00
compat In ndis_alloc_bufpool() and ndis_alloc_packetpool(), the test to see if 2004-08-01 21:15:29 +00:00
conf MFi386: revision 1.501. 2004-08-01 13:00:04 +00:00
contrib Initialize s variable early to shut up GCC warnings. 2004-07-28 06:14:44 +00:00
crypto Use __FBSDID(). 2004-06-14 00:38:54 +00:00
ddb Damage control. Correcly advance symtab and strtab pointers, not 2004-07-28 08:59:08 +00:00
dev When searching for a suitable block of memory on the free list, 2004-08-02 13:59:02 +00:00
doc Experimental support for using doxygen to generate kernel documentation. 2004-07-11 16:13:57 +00:00
fs Put a version element in the VFS filesystem configuration structure 2004-07-30 22:08:52 +00:00
gdb Introduce the GDB debugger backend for the new KDB framework. The 2004-07-10 17:47:22 +00:00
geom - Fix unloading by the same way it is done in my other classes: 2004-08-02 00:37:40 +00:00
gnu Put a version element in the VFS filesystem configuration structure 2004-07-30 22:08:52 +00:00
i4b Fix a possible hang which apparently occurs during a warm boot (cold boot 2004-07-18 20:13:31 +00:00
i386 Optimize intr_execute_handlers() by combining the pic_disable_source() and 2004-08-02 15:31:10 +00:00
ia64 Remove extraneous ';'. 2004-08-01 18:51:44 +00:00
isa Add support for the Synaptics Touchpad mouse driver. I reworked the 2004-07-30 00:59:40 +00:00
isofs/cd9660 Put a version element in the VFS filesystem configuration structure 2004-07-30 22:08:52 +00:00
kern Add what appears to be a missing '*/' at the end of a comment. 2004-08-02 01:38:27 +00:00
libkern Convert the vfsconf list to a TAILQ. 2004-07-27 22:32:01 +00:00
modules Break out the MI part of the /dev/[k]mem and /dev/io drivers into 2004-08-01 11:40:54 +00:00
net Avoid casts as lvalues. 2004-07-28 06:59:55 +00:00
net80211 Add a new network interface flag, IFF_NEEDSGIANT, which will allow 2004-07-27 23:20:45 +00:00
netatalk Further function forward declaration white space tweaks. 2004-07-19 17:18:58 +00:00
netatm Avoid casts as lvalues. 2004-07-28 06:59:55 +00:00
netgraph Another stupid error from my side. PPPOE_NONSTANDARD was first defined 2004-08-01 20:39:33 +00:00
netinet Disallow a particular kind of port theft described by the following scenario: 2004-07-28 13:03:07 +00:00
netinet6 Disallow a particular kind of port theft described by the following scenario: 2004-07-28 13:03:07 +00:00
netipsec Add required includes for post-sorwakeup() change to fix FAST_IPSEC 2004-06-23 01:58:22 +00:00
netipx Avoid casts as lvalues. Declare local variable as u_char * instead of 2004-07-28 06:58:23 +00:00
netkey Merge next step in socket buffer locking: 2004-06-21 00:20:43 +00:00
netnatm Constify send and receive space constants in natm. 2004-06-24 03:11:29 +00:00
netncp Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
netsmb Avoid casts as lvalues. 2004-07-28 06:59:55 +00:00
nfs Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
nfs4client Put a version element in the VFS filesystem configuration structure 2004-07-30 22:08:52 +00:00
nfsclient Put a version element in the VFS filesystem configuration structure 2004-07-30 22:08:52 +00:00
nfsserver If debug.mpsafenet is non-zero, run the NFS server callout without 2004-07-24 02:32:27 +00:00
opencrypto Push acquisition of Giant from fdrop_closed() into fo_close() so that 2004-07-22 18:35:43 +00:00
pc98 MFi386: revision 1.1167 2004-08-01 13:01:36 +00:00
pccard Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
pci Unbreak DEVICE_POLLING build / LINT. Sorry! 2004-08-02 10:08:28 +00:00
posix4
powerpc Remove 'device mem' from GENERIC, which markm@ mistakingly added. 2004-08-02 11:08:48 +00:00
rpc fix array index out of bounds in rpc->rc_srtt[], rpc->rc_sdrtt[] 2004-07-15 22:21:25 +00:00
security * Add a "how" argument to uma_zone constructors and initialization functions 2004-08-02 00:18:36 +00:00
sparc64 Break out the MI part of the /dev/[k]mem and /dev/io drivers into 2004-08-01 11:40:54 +00:00
sys Bump __FreeBSD_version to designate uma_zone functions changing type. 2004-08-02 01:49:22 +00:00
tools Pass doxygen doc comments through to the output. 2004-07-11 16:14:24 +00:00
ufs Put a version element in the VFS filesystem configuration structure 2004-07-30 22:08:52 +00:00
vm Eliminate the acquisition and release of Giant around the call to 2004-08-02 03:31:05 +00:00
Makefile Try harder not to compile anything in sys/boot for arm. 2004-05-16 00:19:12 +00:00