1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-19 10:53:58 +00:00
freebsd/sys
Robert Watson e7c33e29ed Revise locking strategy used for UNIX domain sockets in order to improve
concurrency:

- Add per-unpcb mutexes protecting unpcb connection state, fields, etc.

- Replace global UNP mutex with a global UNP rwlock, which will protect the
  UNIX domain socket connection topology, v_socket, and be acquired
  exclusively before acquiring more than per-unpcb at a time in order to
  avoid lock order issues.

In performance measurements involving MySQL, this change has little or no
overhead on UP (+/- 1%), but leads to a significant (5%-30%) improvement in
multi-processor measurements using the sysbench and supersmack benchmarks.

Much testing by:	kris
Approved by:		re (kensmith)
2007-02-26 20:47:52 +00:00
..
amd64 Partial MFp4 of 114977: 2007-02-24 16:49:25 +00:00
arm Remove unused header file <machine/katelib.h> 2007-02-26 05:17:47 +00:00
boot Fix the cdboot twiddle display. 2007-02-23 21:07:44 +00:00
bsm
cam Add an xpt_rescan function and a thread that will field 2007-02-23 05:47:36 +00:00
coda coda_vptofh is never defined nor used. 2007-02-02 15:47:28 +00:00
compat MFp4 (110541): 2007-02-25 12:43:07 +00:00
conf Build ipx_ip.c only if options IPXIP is defined. No functional change. 2007-02-26 11:55:34 +00:00
contrib o break newbus api: add a new argument of type driver_filter_t to 2007-02-23 12:19:07 +00:00
crypto
ddb Use FOREACH_PROC_IN_SYSTEM instead of using its unrolled form. 2007-01-17 15:05:52 +00:00
dev mii_phy_dev_probe returns its third argument on match, not 0, so pass 0 2007-02-26 04:48:24 +00:00
fs Check that the error returned by vfs_getopts() is not ENOENT before assuming 2007-02-21 00:30:09 +00:00
gdb
geom Use tsleep() rather than msleep() with a NULL mtx parameter. 2007-02-23 23:06:10 +00:00
gnu Move vnode-to-file-handle translation from vfs_vptofh to vop_vptofh method. 2007-02-15 22:08:35 +00:00
i4b o break newbus api: add a new argument of type driver_filter_t to 2007-02-24 02:28:07 +00:00
i386 Partial MFp4 of 114977: 2007-02-24 16:49:25 +00:00
ia64 Updated ia64 isa support with the new bus_setup_intr() syntax. 2007-02-24 16:56:22 +00:00
isa o break newbus api: add a new argument of type driver_filter_t to 2007-02-23 12:19:07 +00:00
kern Revise locking strategy used for UNIX domain sockets in order to improve 2007-02-26 20:47:52 +00:00
libkern
modules Make IPv6 multicast forwarding dynamically loadable from a GENERIC kernel. 2007-02-24 11:38:47 +00:00
net Move the lock init until after if_alloc in case the allocation fails and we 2007-02-23 19:37:55 +00:00
net80211 clear/reclaim challenge text when switching auth mode and operating as an ap 2007-02-04 05:49:16 +00:00
netatalk Use privilege PRIV_NET_ADDIFADDR rather than suser() to authorize 2007-02-19 22:40:02 +00:00
netatm
netgraph o break newbus api: add a new argument of type driver_filter_t to 2007-02-23 12:19:07 +00:00
netinet Unlock a mutex which should be unlocked before returning. 2007-02-25 14:22:03 +00:00
netinet6 Fix tinderbox. ip6_mrouter should be defined in raw_ip6.c as it is 2007-02-24 21:09:35 +00:00
netipsec
netipx Build ipx_ip.c only if options IPXIP is defined. No functional change. 2007-02-26 11:55:34 +00:00
netkey
netnatm Factor out my copyrights + licenses from Charles D. Cranor and 2007-01-08 22:30:39 +00:00
netncp
netsmb Backing out the wrong fix which could possibly trash the memory if devfs 2007-02-09 17:22:10 +00:00
nfs
nfs4client Rename some functions and variables from nfs_* to nfs4_* to avoid 2007-01-25 14:33:13 +00:00
nfsclient Backing out an earlier change. It seems harmless for NFS to miss the "force 2007-02-16 03:46:55 +00:00
nfsserver Move vnode-to-file-handle translation from vfs_vptofh to vop_vptofh method. 2007-02-15 22:08:35 +00:00
opencrypto
pc98 Garbage collect a reference to INTR_FAST. 2007-02-25 14:53:55 +00:00
pccard
pci Convert sis(4) to use its own watchdog procedure. 2007-02-24 14:27:36 +00:00
powerpc Catch up with bus_setup_intr() modification and garbage collect a 2007-02-25 15:04:08 +00:00
rpc
security More unnecessary include reduction. 2007-02-23 14:39:04 +00:00
sparc64 Use uma_set_align(). 2007-02-25 10:52:47 +00:00
sun4v o break newbus api: add a new argument of type driver_filter_t to 2007-02-23 12:19:07 +00:00
sys Revise locking strategy used for UNIX domain sockets in order to improve 2007-02-26 20:47:52 +00:00
tools Cleanup and document the implementation of firmware(9) based on 2007-02-15 17:21:31 +00:00
ufs Account for di_blocks allocations when IN_SPACECOUNTED is set in an 2007-02-23 20:23:35 +00:00
vm Change the way that unmanaged pages are created. Specifically, 2007-02-25 06:14:58 +00:00
Makefile