freebsd-skq/sys
rwatson b9b9205b8f Don't acquire Giant before calling closef() in close() (and elsewhere);
instead acquire it conditionally in closef() if it is required for
advisory locking.  This removes Giant from the close() path of sockets
and pipes (and any other objects that don't acquire Giant in their
fo_close path, such as kqueues).  Giant will still be acquired twice for
vnodes -- once for advisory lock teardown, and a second time in the
fo_close method.  Both Poul-Henning and I believe that the advisory lock
teardown code can be moved into the vn_closefile path shortly.

This trims a percent or two off the cost of most non-vnode close
operations on SMP, but has a fairly minimal impact on UP where the cost
of a single mutex operation is pretty low.
2004-11-28 14:37:17 +00:00
..
alpha When required to negate the absoulte result of a division/remainder 2004-11-27 20:59:49 +00:00
amd64 Don't include sys/user.h merely for its side-effect of recursively 2004-11-27 06:51:39 +00:00
arm Don't include sys/user.h merely for its side-effect of recursively 2004-11-27 06:51:39 +00:00
boot o Introduce efimd_va2pa() to translate addresses in efi_copy{in|out}() 2004-11-28 00:30:22 +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 Don't include sys/user.h merely for its side-effect of recursively 2004-11-27 06:51:39 +00:00
conf It appears that 'kbd' device has never been used and isn't needed. 2004-11-23 00:00:43 +00:00
contrib fix a bug that leads to a crash when binat rules of the form 2004-11-24 00:43:34 +00:00
crypto Initiate deorbit burn sequence for 80386 support in FreeBSD: Remove 2004-11-16 20:42:32 +00:00
ddb When printing a stack trace for a thread, also print the pid and tid. 2004-11-23 23:11:47 +00:00
dev Temporarily disable programming IRQ links on resume. The new code hangs 2004-11-26 23:31:59 +00:00
doc Experimental support for using doxygen to generate kernel documentation. 2004-07-11 16:13:57 +00:00
fs Ignore MNT_NODEV, it is implicit in choice of filesystem these days. 2004-11-26 07:37:42 +00:00
gdb Comment-out the debugging printf I left in in case there were some 2004-08-10 19:32:33 +00:00
geom Implement 'setstate' to allow setting the state of drives and subdisks 2004-11-26 12:31:36 +00:00
gnu Make VOP_BMAP return a struct bufobj for the underlying storage device 2004-11-15 09:18:27 +00:00
i4b Mark i4b IPR and SPPP drivers as NET_NEEDS_GIANT(), as they both 2004-10-12 09:25:52 +00:00
i386 Don't include sys/user.h merely for its side-effect of recursively 2004-11-27 06:51:39 +00:00
ia64 Whitespace fixes: 2004-11-28 04:34:17 +00:00
isa Stop printing the VGA registers during verbose boot, in order to not 2004-11-03 09:07:44 +00:00
isofs/cd9660 Make VOP_BMAP return a struct bufobj for the underlying storage device 2004-11-15 09:18:27 +00:00
kern Don't acquire Giant before calling closef() in close() (and elsewhere); 2004-11-28 14:37:17 +00:00
libkern Use the RET macro. 2004-11-09 16:47:47 +00:00
modules Allow the gif module to be built without IPv6 support when NOINET6 is 2004-11-26 19:01:57 +00:00
net Assign if_broadcastaddr to NULL not 0 in if_attach(). 2004-11-23 23:31:33 +00:00
net80211 Add a new network interface flag, IFF_NEEDSGIANT, which will allow 2004-07-27 23:20:45 +00:00
netatalk Initialize struct pr_userreqs in new/sparse style and fill in common 2004-11-08 14:44:54 +00:00
netatm Initialize struct pr_userreqs in new/sparse style and fill in common 2004-11-08 14:44:54 +00:00
netgraph Disable protocol field compression on the inner PPP frame when also doing 2004-11-27 20:29:00 +00:00
netinet Assert the inpcb lock in tcp_xmit_timer() as it performs read-modify- 2004-11-28 11:06:22 +00:00
netinet6 support TCP-MD5(IPv4) in KAME-IPSEC, too. 2004-11-08 18:49:51 +00:00
netipsec Initialize struct pr_userreqs in new/sparse style and fill in common 2004-11-08 14:44:54 +00:00
netipx Initialize struct pr_userreqs in new/sparse style and fill in common 2004-11-08 14:44:54 +00:00
netkey support TCP-MD5(IPv4) in KAME-IPSEC, too. 2004-11-08 18:49:51 +00:00
netnatm Initialize struct pr_userreqs in new/sparse style and fill in common 2004-11-08 14:44:54 +00:00
netncp Add missing zero flag argument. 2004-10-12 08:22:08 +00:00
netsmb Don't use vn_todev(). 2004-11-10 07:16:59 +00:00
nfs
nfs4client Refuse attempts to mount root filesystem 2004-11-09 22:21:10 +00:00
nfsclient - Eliminate the acquisition and release of the bqlock in bremfree() by 2004-11-18 08:44:09 +00:00
nfsserver Correct a bug in nfsrv_create() where a call to nfsrv_access() might 2004-11-11 21:30:52 +00:00
opencrypto Push Giant down through ioctl. 2004-11-17 09:09:55 +00:00
pc98 Don't include sys/user.h merely for its side-effect of recursively 2004-11-27 06:51:39 +00:00
pccard Move PNP IDs back into oldcard files 2004-08-13 06:57:31 +00:00
pci Correct URL of the programming manual. 2004-11-17 23:36:11 +00:00
posix4
powerpc Don't include sys/user.h merely for its side-effect of recursively 2004-11-27 06:51:39 +00:00
rpc Prefer C99's __func__ over GCC's __FUNCTION__. 2004-09-23 18:25:46 +00:00
security Implement MAC entry points relating to System V IPC, calling into the 2004-11-17 13:14:24 +00:00
sparc64 Don't include sys/user.h merely for its side-effect of recursively 2004-11-27 06:51:39 +00:00
sys #define the ioctls that take no arguments correctly. 2004-11-28 11:08:23 +00:00
tools Pass doxygen doc comments through to the output. 2004-07-11 16:14:24 +00:00
ufs Use system wide no-op vfs_start function. 2004-11-25 09:11:27 +00:00
vm Don't include sys/user.h merely for its side-effect of recursively 2004-11-27 06:51:39 +00:00
Makefile Add a NO_BOOT knob to prevent building the boot blocks and loader. 2004-08-19 09:54:28 +00:00