freebsd-skq/sys
Robert Watson eaa6dfbcc2 Reimplement socket buffer tear-down in sofree(): as the socket is no
longer referenced by other threads (hence our freeing it), we don't need
to set the can't send and can't receive flags, wake up the consumers,
perform two levels of locking, etc.  Implement a fast-path teardown,
sbdestroy(), which flushes and releases each socket buffer.  A manual
dom_dispose of the receive buffer is still required explicitly to GC
any in-flight file descriptors, etc, before flushing the buffer.

This results in a 9% UP performance improvement and 16% SMP performance
improvement on a tight loop of socket();close(); in micro-benchmarking,
but will likely also affect CPU-bound macro-benchmark performance.
2006-08-01 10:30:26 +00:00
..
amd64 Correct spelling of 3DNow!. 2006-08-01 01:23:39 +00:00
arm Retire SYF_ARGMASK and remove both SYF_MPSAFE and SYF_ARGMASK. sy_narg is 2006-07-28 20:22:58 +00:00
boot Add snd_emu10kx_load 2006-07-26 12:59:42 +00:00
bsm Merge OpenBSM 1.0 alpha 7 new AUE_ event identifiers to kernel version 2006-07-03 14:45:43 +00:00
cam Drop Giant before returning in error path, thus eliminates 2006-07-14 13:58:32 +00:00
coda Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
compat Regen for MPSAFE flag removal. 2006-07-28 19:08:37 +00:00
conf Remove sio(4) and related options from MI files to amd64, i386 2006-07-29 18:38:54 +00:00
contrib Import from OpenBSD 1.168, dhartmei: 2006-07-21 09:48:13 +00:00
crypto Remove trailing spaces. 2006-07-28 14:48:30 +00:00
ddb Disable the pager for 'panic' and 'call' to be paranoid. 2006-07-19 18:26:53 +00:00
dev Fix the following bugs in re(4) 2006-07-30 23:25:21 +00:00
fs In udf_find_partmaps(), when we find a type 1 partition map, we have to 2006-07-25 14:15:50 +00:00
gdb Convert to new console api 2006-05-26 13:54:27 +00:00
geom Fix what looks like a typo: MODULE_DEPEND() takes module names, 2006-07-27 11:52:12 +00:00
gnu Add snd_emu10kx driver for Creative SoundBlaster Live! and Audigy series 2006-07-15 19:36:28 +00:00
i4b Extend i4b to support CAPI manager based ISDN controllers (CAPI manager is part of 2006-07-09 21:16:06 +00:00
i386 Correct spelling of 3DNow!. 2006-08-01 01:23:39 +00:00
ia64 Remove sio(4) and related options from MI files to amd64, i386 2006-07-29 18:38:54 +00:00
isa (apply '(lambda (reformat-region 'style-9-parens)) (read-file isahint.c)) 2006-07-08 16:50:10 +00:00
isofs/cd9660 Remove calls to vfs_export() for exporting a filesystem for NFS mounting 2006-05-26 00:32:21 +00:00
kern Reimplement socket buffer tear-down in sofree(): as the socket is no 2006-08-01 10:30:26 +00:00
libkern First pass at removing Alpha kernel support. 2006-05-11 22:25:28 +00:00
modules Remove Alpha remnants. 2006-07-27 19:12:49 +00:00
net Add some statistics that are needed to support RFC4188 as part of the SoC2006 2006-07-31 20:24:46 +00:00
net80211 add support for 802.11 packet injection via bpf 2006-07-26 03:15:16 +00:00
netatalk Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netatm Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netgraph Remove the dependency of bridgestp.h on if_bridgevar.h by moving a couple of 2006-07-27 21:01:48 +00:00
netinet Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netinet6 Align IPv6 socket locking with IPv4 locking: lock socket buffer explicitly 2006-07-23 12:24:22 +00:00
netipsec Fix build breakage from previous commit which confused key_abort and key_close. 2006-07-22 09:18:02 +00:00
netipx Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netkey Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netnatm Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netncp soreceive_generic(), and sopoll_generic(). Add new functions sosend(), 2006-07-24 15:20:08 +00:00
netsmb soreceive_generic(), and sopoll_generic(). Add new functions sosend(), 2006-07-24 15:20:08 +00:00
nfs
nfs4client Always supply curthread as argument to nfs_asyncio and nfs_doio 2006-07-12 09:16:35 +00:00
nfsclient soreceive_generic(), and sopoll_generic(). Add new functions sosend(), 2006-07-24 15:20:08 +00:00
nfsserver Now that all system calls are MPSAFE, retire the SYF_MPSAFE flag used to 2006-07-28 19:05:28 +00:00
opencrypto When DIAGNOSTIC is defined, verify if we don't free crypto requests from 2006-06-06 15:04:52 +00:00
pc98 Remove sio(4) and related options from MI files to amd64, i386 2006-07-29 18:38:54 +00:00
pccard I don't believe these are used at all, and can be safely removed 2006-01-15 06:49:28 +00:00
pci Fix the following bugs in re(4) 2006-07-30 23:25:21 +00:00
posix4 Backout the feature which can change thread's scheduling option, I really 2006-07-13 06:41:26 +00:00
powerpc Remove sio(4) and related options from MI files to amd64, i386 2006-07-29 18:38:54 +00:00
rpc Fix up some cut-n-paste damage and some out-of-date comments. 2006-01-20 15:20:41 +00:00
security Remove the NDEVFSINO and NDEVFSOVERFLOW options which no longer exists in 2006-07-17 09:07:02 +00:00
sparc64 Remove sio(4) and related options from MI files to amd64, i386 2006-07-29 18:38:54 +00:00
sys Reimplement socket buffer tear-down in sofree(): as the socket is no 2006-08-01 10:30:26 +00:00
tools Check for errors when registering and unregistering firmware modules. This 2006-06-16 21:06:03 +00:00
ufs Rather than print out a nice error message giving details sufficent to fix 2006-07-31 15:44:13 +00:00
vm Export the number of object bypasses and collapses through sysctl. 2006-07-22 22:31:57 +00:00
Makefile o Add geom to a list of cscope dirs. 2006-07-04 14:14:16 +00:00