freebsd-src/sys/i386
Matthew Dillon f94f8efc61 Optimize two cases in the MP locking code. First, it is not necessary
to use a locked cmpexg when unlocking a lock that we already hold, since
      nobody else can touch the lock while we hold it.  Second, it is not
      necessary to use a locked cmpexg when locking a lock that we already
      hold, for the same reason.  These changes will allow MP locks to be used
      recursively without impacting performance.

      Modify two procedures that are called only by assembly and are already
      NOPROF entries to pass a critical argument in %edx instead of on the
      stack, removing a significant amount of code from the critical path
      as a consequence.

Reviewed by:	Alfred Perlstein <bright@wintelcom.net>, Peter Wemm <peter@netplex.com.au>
1999-11-19 22:47:19 +00:00
..
apm Use DRIVER_MODULE(), apm.c already takes care of it's devices with 1999-11-08 07:44:26 +00:00
bios Use DRIVER_MODULE(), apm.c already takes care of it's devices with 1999-11-08 07:44:26 +00:00
boot GC bdbtofsb() 1999-09-26 19:05:39 +00:00
conf Hack: comment out the pull-in of src/sys/../share/mk/bsd.kern.mk as 1999-11-18 09:54:11 +00:00
eisa Delete unneeded #include 1999-10-11 14:42:33 +00:00
i386 Use LIST_FOREACH to traverse the allproc list. 1999-11-19 21:34:50 +00:00
ibcs2 Fix case where vnode could be unlocked twice. Untested; bug found by code 1999-11-14 17:33:40 +00:00
include Optimize two cases in the MP locking code. First, it is not necessary 1999-11-19 22:47:19 +00:00
isa Optimize two cases in the MP locking code. First, it is not necessary 1999-11-19 16:49:30 +00:00
linux simplify check for device. 1999-11-08 09:59:17 +00:00
pci If we have found pci devices via pci_cfgopen(), but don't find a 1999-11-18 08:58:37 +00:00
svr4 useracc() the prequel: 1999-10-29 18:09:36 +00:00
Makefile $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00