freebsd-nq/sys
Jeff Roberson b646893f0f - Eliminate the acquisition and release of the bqlock in bremfree() by
setting the B_REMFREE flag in the buf.  This is done to prevent lock order
   reversals with code that must call bremfree() with a local lock held.
   This also reduces overhead by removing two lock operations per buf for
   fsync() and similar.
 - Check for the B_REMFREE flag in brelse() and bqrelse() after the bqlock
   has been acquired so that we may remove ourself from the free-list.
 - Provide a bremfreef() function to immediately remove a buf from a
   free-list for use only by NFS.  This is done because the nfsclient code
   overloads the b_freelist queue for its own async. io queue.
 - Simplify the numfreebuffers accounting by removing a switch statement
   that executed the same code in every possible case.
 - getnewbuf() can encounter locked bufs on free-lists once Giant is removed.
   Remove a panic associated with this condition and delay asserts that
   inspect the buf until after it is locked.

Reviewed by:	phk
Sponsored by:	Isilon Systems, Inc.
2004-11-18 08:44:09 +00:00
..
alpha
amd64
arm Move KERNPHYSADDR and KERNVIRTADDR from std.i80321 to std.iq31244. 2004-11-18 00:05:09 +00:00
boot There's no reason for "read" and "echo" commands to not 2004-11-13 17:04:55 +00:00
cam Correct another location where inquiry length as calculated from the 2004-11-18 07:24:29 +00:00
coda Make VOP_BMAP return a struct bufobj for the underlying storage device 2004-11-15 09:18:27 +00:00
compat
conf Hook up mac_sysv_{msg,sem,shm}.c to the build when compiling with MAC 2004-11-17 17:33:59 +00:00
contrib
crypto Initiate deorbit burn sequence for 80386 support in FreeBSD: Remove 2004-11-16 20:42:32 +00:00
ddb
dev Correct URL of the programming manual. 2004-11-17 23:36:11 +00:00
doc
fs Make vnode bypass for fifos (read, write, poll) mandatory. 2004-11-17 07:30:02 +00:00
gdb
geom Move RAID5 offset calculation into a separate function to avoid 2004-11-15 13:04:55 +00:00
gnu Make VOP_BMAP return a struct bufobj for the underlying storage device 2004-11-15 09:18:27 +00:00
i4b
i386 Initiate deorbit burn sequence for 80386 support in FreeBSD: Remove 2004-11-16 20:42:32 +00:00
ia64 Remove the BR tag. When the machine doesn't have the DIG64 HCDP 2004-11-14 23:42:48 +00:00
isa
isofs/cd9660 Make VOP_BMAP return a struct bufobj for the underlying storage device 2004-11-15 09:18:27 +00:00
kern - Eliminate the acquisition and release of the bqlock in bremfree() by 2004-11-18 08:44:09 +00:00
libkern
modules this should have been deleted a while ago 2004-11-18 04:30:17 +00:00
net sync comment on IFF_OACTIVE with reality.. IFF_OACTIVE is set when the 2004-11-17 18:32:44 +00:00
net80211
netatalk
netatm
netgraph
netinet Fix host route addition for more than one address to a loopback interface 2004-11-17 23:14:03 +00:00
netinet6
netipsec
netipx
netkey
netnatm
netncp
netsmb
nfs
nfs4client
nfsclient - Eliminate the acquisition and release of the bqlock in bremfree() by 2004-11-18 08:44:09 +00:00
nfsserver
opencrypto Push Giant down through ioctl. 2004-11-17 09:09:55 +00:00
pc98 Initiate deorbit burn sequence for 80386 support in FreeBSD: Remove 2004-11-16 20:42:32 +00:00
pccard
pci Correct URL of the programming manual. 2004-11-17 23:36:11 +00:00
posix4
powerpc
rpc
security Implement MAC entry points relating to System V IPC, calling into the 2004-11-17 13:14:24 +00:00
sparc64 Add a front-end for the `rtc' device which is a MC146818 compatible 2004-11-17 16:41:42 +00:00
sys - Eliminate the acquisition and release of the bqlock in bremfree() by 2004-11-18 08:44:09 +00:00
tools
ufs - Eliminate the acquisition and release of the bqlock in bremfree() by 2004-11-18 08:44:09 +00:00
vm Make VOP_BMAP return a struct bufobj for the underlying storage device 2004-11-15 09:18:27 +00:00
Makefile