freebsd-dev/sys
Jeff Roberson 698b1a6643 - Complete part of the unfinished bufobj work by consistently using
BO_LOCK/UNLOCK/MTX when manipulating the bufobj.
 - Create a new lock in the bufobj to lock bufobj fields independently.
   This leaves the vnode interlock as an 'identity' lock while the bufobj
   is an io lock.  The bufobj lock is ordered before the vnode interlock
   and also before the mnt ilock.
 - Exploit this new lock order to simplify softdep_check_suspend().
 - A few sync related functions are marked with a new XXX to note that
   we may not properly interlock against a non-zero bv_cnt when
   attempting to sync all vnodes on a mountlist.  I do not believe this
   race is important.  If I'm wrong this will make these locations easier
   to find.

Reviewed by:	kib (earlier diff)
Tested by:	kris, pho (earlier diff)
2008-03-22 09:15:16 +00:00
..
amd64 Explicitly use spinlock_enter/exit rather than locking the icu_lock spin 2008-03-20 21:53:27 +00:00
arm add usb devices and more wlan stuff now that usb is functional 2008-03-20 17:44:58 +00:00
boot style(9) & style.Makefile(9) 2008-03-13 17:54:21 +00:00
bsm Merge OpenBSM 1.0 changes to src/sys/bsm: 2007-10-29 18:47:25 +00:00
cam Locking in the ses_ioctl handler doesn't have to be so strict because 2008-03-17 17:18:16 +00:00
cddl In keeping with style(9)'s recommendations on macros, use a ';' 2008-03-16 10:58:09 +00:00
compat o Add stub support for some new futex operations, 2008-03-20 17:03:55 +00:00
conf - Restore runq to manipulating threads directly by putting runq links and 2008-03-20 05:51:16 +00:00
contrib In keeping with style(9)'s recommendations on macros, use a ';' 2008-03-16 10:58:09 +00:00
crypto Make test00 compilable again. 2008-01-15 18:34:47 +00:00
ddb Add a /S mode to DDB "ex" command, which interprets and prints the 2008-03-07 18:09:07 +00:00
dev Add in a compat. mode so you can either open the card's device 2008-03-22 02:57:49 +00:00
fs - Complete part of the unfinished bufobj work by consistently using 2008-03-22 09:15:16 +00:00
gdb Commit SYSINIT() ;-adding patch missed in previous pass. 2008-03-16 13:02:04 +00:00
geom - Fix a memory leak when re-discovering a gvinum configuration. 2008-03-18 08:48:51 +00:00
gnu Introduce some functions in the vnode locks namespace and in the ffs 2008-02-24 16:38:58 +00:00
i4b Spelling fix for interupt -> interrupt 2007-10-12 06:03:46 +00:00
i386 Explicitly use spinlock_enter/exit rather than locking the icu_lock spin 2008-03-20 21:53:27 +00:00
ia64 Simplify the interrupt code a bit: 2008-03-17 22:42:01 +00:00
isa Use cpu_spinwait() (i.e., "pause") when spinning on rdtsc during DELAY(). 2008-01-17 18:59:38 +00:00
kern - Complete part of the unfinished bufobj work by consistently using 2008-03-22 09:15:16 +00:00
libkern Add prototype for __cmpd2(). 2008-02-23 22:40:05 +00:00
modules Update file list and Makefile after repocopying vr(4) from 2008-03-11 03:50:57 +00:00
net back out last change as Sam believes that it breaks multicast - need to revisit after following up with pyun 2008-03-20 06:19:34 +00:00
net80211 Fix adhoc mode to scan all available channels for a bss to join 2008-02-29 04:07:07 +00:00
netatalk Annotate two possible bugs in a comment: (1) we allocate and explicitly 2007-11-20 18:50:54 +00:00
netatm In keeping with style(9)'s recommendations on macros, use a ';' 2008-03-16 10:58:09 +00:00
netgraph Remove impossible (hk_peer == NULL) check from ng_address_hook(). 2008-03-16 23:12:17 +00:00
netinet Explicitate the newpacket size. 2008-03-19 11:28:13 +00:00
netinet6 Correct IPsec behaviour with a 'use' level in SP but no SA available. 2008-03-14 16:38:11 +00:00
netipsec Add ';' missed with the SYSINIT changes. 2008-03-21 18:31:42 +00:00
netipx Make tcpstates[] static, and make sure TCPSTATES is defined before 2007-07-30 11:06:42 +00:00
netnatm
netncp - Handle buffer lock waiters count directly in the buffer cache instead 2008-03-01 19:47:50 +00:00
netsmb Remove unused vc_tnode field from struct smb_vc. 2008-03-10 14:55:34 +00:00
nfs
nfs4client - Complete part of the unfinished bufobj work by consistently using 2008-03-22 09:15:16 +00:00
nfsclient - Complete part of the unfinished bufobj work by consistently using 2008-03-22 09:15:16 +00:00
nfsserver - Complete part of the unfinished bufobj work by consistently using 2008-03-22 09:15:16 +00:00
opencrypto Make ftruncate a 'struct file' operation rather than a vnode operation. 2008-01-07 20:05:19 +00:00
pc98 In keeping with style(9)'s recommendations on macros, use a ';' 2008-03-16 10:58:09 +00:00
pccard
pci vr(4) was repocopied to src/sys/dev/vr. 2008-03-11 03:53:53 +00:00
powerpc Simplify the interrupt code a bit: 2008-03-17 22:42:01 +00:00
rpc Remove the now-unused NET_{LOCK,UNLOCK,ASSERT}_GIANT() macros, which 2007-08-06 14:26:03 +00:00
security In keeping with style(9)'s recommendations on macros, use a ';' 2008-03-16 10:58:09 +00:00
sparc64 Oops. Use atomic_add_long() for atomic_fetchadd_long() (not atomic_add_int()) 2008-03-19 07:27:24 +00:00
sun4v Oops. Use atomic_add_long() for atomic_fetchadd_long() (not atomic_add_int()) 2008-03-19 07:27:24 +00:00
sys - Complete part of the unfinished bufobj work by consistently using 2008-03-22 09:15:16 +00:00
tools Introduce a standalone shell script for embedding MFS image. 2008-02-05 10:46:30 +00:00
ufs - Complete part of the unfinished bufobj work by consistently using 2008-03-22 09:15:16 +00:00
vm Do not dereference cdev->si_cdevsw, use the dev_refthread() to properly 2008-03-20 16:08:42 +00:00
Makefile o Add boot, gdb, nfsserver and opencrypto dirs to CSCOPEDIRS; sort. 2008-01-23 08:50:34 +00:00