freebsd-dev/sys
Jeff Roberson eb2ea10590 - Move softdep from using a global worklist to per-mount worklists. This
has many positive effects including improved smp locking, reducing
   interdependencies between mounts that can lead to deadlocks, etc.
 - Add the softdep worklist and various counters to the ufsmnt structure.
 - Add a mount pointer to the workitem and remove mount pointers from the
   various structures derived from the workitem as they are now redundant.
 - Remove the poor-man's semaphore protecting softdep_process_worklist and
   softdep_flushworklist.  Several threads may now process the list
   simultaneously.
 - Add softdep_waitidle() to block the thread until all pending
   dependencies being operated on by other threads have been flushed.
 - Use softdep_waitidle() in unmount and snapshots to block either
   operation until the fs is stable.
 - Remove softdep worklist processing from the syncer and move it into the
   softdep_flush() thread.  This thread processes all softdep mounts
   once each second and when it is called via the new softdep_speedup()
   when there is a resource shortage.  This removes the softdep hook
   from the kernel and various hacks in header files to support it.

Reviewed by/Discussed with:	tegge, truckman, mckusick
Tested by:	kris
2006-03-02 05:50:23 +00:00
..
alpha Close some races between procfs/ptrace and exit(2): 2006-02-22 18:57:50 +00:00
amd64 guard function decls with _KERNEL so user code can include this file 2006-03-01 05:59:56 +00:00
arm Use 8 * sizeof(int) instead of hardcoding 32, for the unlikely case this 2006-03-02 00:37:40 +00:00
boot
bsm
cam
coda CODA_COMPAT_5 may not be defined unconditionally in the coda5 module. 2006-02-27 12:04:13 +00:00
compat regen for 32bit sendfile 2006-02-28 19:39:52 +00:00
conf Move de driver to dev/de 2006-02-26 17:54:04 +00:00
contrib Do not use the TSC where its known to be broken, this will cause the queue 2006-03-02 00:51:39 +00:00
crypto
ddb
dev Provide ability to disable kbdmux(4) with the hint.kbdmux.0.disabled="1" hint. 2006-03-01 18:34:48 +00:00
doc
fs Correct the vnode locking in fdescfs. 2006-02-28 00:05:44 +00:00
gdb
geom - Lock Giant if needed around the call to vnode_create_vobject(). This is 2006-03-02 05:37:44 +00:00
gnu
i4b
i386 Rework how we wire up interrupt sources to CPUs: 2006-02-28 22:24:55 +00:00
ia64 Close some races between procfs/ptrace and exit(2): 2006-02-22 18:57:50 +00:00
isa
isofs/cd9660
kern - Move softdep from using a global worklist to per-mount worklists. This 2006-03-02 05:50:23 +00:00
libkern
modules Provide ability to disable kbdmux(4) with the hint.kbdmux.0.disabled="1" hint. 2006-03-01 18:34:48 +00:00
net Fix up the Bridge Identifier field in the BPDU packet. 2006-02-28 00:13:24 +00:00
net80211 consolidate calculation of capabilities ie 2006-02-25 05:36:43 +00:00
netatalk
netatm
netgraph Clear csum_flags after reading data from socket buffer. Otherwise, 2006-02-21 13:04:39 +00:00
netinet Rework TCP window scaling (RFC1323) to properly scale the send window 2006-02-28 23:05:59 +00:00
netinet6
netipsec
netipx
netkey
netnatm
netncp
netsmb
nfs
nfs4client
nfsclient
nfsserver Correct a remote kernel panic when processing zero-length RPC records 2006-03-01 14:17:32 +00:00
opencrypto This patch fixes a problem, which exists if you have IPSEC in your kernel 2006-02-27 16:56:22 +00:00
pc98 - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
pccard
pci Remove de driver from old location. 2006-02-26 17:52:51 +00:00
posix4
powerpc
rpc
security
sparc64 Fix a c/p error. 2006-02-28 21:25:00 +00:00
sys - Move softdep from using a global worklist to per-mount worklists. This 2006-03-02 05:50:23 +00:00
tools
ufs - Move softdep from using a global worklist to per-mount worklists. This 2006-03-02 05:50:23 +00:00
vm Lock the vm_object while checking its type to see if it is a vnode-backed 2006-02-21 22:09:54 +00:00
Makefile