1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-18 10:35:55 +00:00
freebsd/sys
Robert Watson c2a9c542a9 Push Giant a bit further off the NFS server in a number of straight
forward cases by converting from unconditional acquisition of Giant
around vnode operations to conditional acquisition:

- Remove nfsrv_access_withgiant(), and cause nfsrv_access() to now
  assert that Giant will be held if it is required for the vnode.

- Add nfsrv_fhtovp_locked(), which will drop the NFS server lock if
  required, and modify nfsrv_fhtovp() to conditionally acquire
  Giant if required.

- In the VOP's not dealing with more than one vnode at a time (i.e.,
  not involving a lookup), conditionally acquire Giant.

This removes Giant use for MPSAFE file systems for a number of quite
important RPCs, including getattr, read, write.  It leaves
unconditional Giant acquisitions in vnode operations that interact
with the name space or more than one vnode at a time as these
require further work.

Tested by:	kris
Reviewed by:	kib
2006-11-24 11:53:16 +00:00
..
amd64 Use a define instead of a "magic" value. 2006-11-23 21:37:04 +00:00
arm Bring in status led support for /dev/led/gpioled on Avila. 2006-11-22 12:57:17 +00:00
boot remove CDDL derive hcall.S 2006-11-23 21:29:50 +00:00
bsm
cam XPT_GET_TRAN_SETTINGS can fail- so check for an error and 2006-11-07 23:06:00 +00:00
coda change vop_lock handling to allowing tracking of callers' file and line for 2006-11-13 05:51:22 +00:00
compat Add missed ")". Fix the build. 2006-11-18 17:27:39 +00:00
conf move CDDL licensed machine description support routine files to cddl directory 2006-11-24 01:56:46 +00:00
contrib Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
crypto Initialize T1 to silent gcc warning. 2006-10-22 02:19:33 +00:00
ddb Fix the output format of MI ddb watches in 'show watch' on 64-bit 2006-11-17 16:41:56 +00:00
dev I mistakenly committed the wrong version of my patch (sorry). 2006-11-24 06:51:49 +00:00
fs Fix an integer overflow and allow access to files larger than 4GB on 2006-11-20 19:28:36 +00:00
gdb
geom Fix ia64 build breakage. 2006-11-02 16:24:18 +00:00
gnu Previously, the mount_ext2fs binary listed the acceptable mount 2006-11-18 18:22:11 +00:00
i4b Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
i386 The global variable avail_end is redundant and only used once. Eliminate 2006-11-19 20:54:58 +00:00
ia64 Since printf also has at least one critical section, we need to 2006-11-18 23:15:25 +00:00
isa
isofs/cd9660 Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
kern Fix a race in soclose() where connections could be queued to the 2006-11-22 23:54:29 +00:00
libkern
modules o Add uark(4), a driver for Arkmicro Technologies ARK3116 based serial 2006-11-15 09:13:25 +00:00
net Initialize a local variable in 2 places just before it is used, not always 2006-11-23 05:57:15 +00:00
net80211 Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
netatalk Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
netatm Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
netgraph Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
netinet Change error codes returned by protocol operations when an inpcb is 2006-11-22 17:16:54 +00:00
netinet6 -Fixes first of all the getcred on IPv6 and V4. The 2006-11-08 00:21:13 +00:00
netipsec Add priv.h include required to build FAST_IPSEC, which is not present in 2006-11-07 08:58:06 +00:00
netipx Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
netkey
netnatm
netncp Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
netsmb Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
nfs
nfs4client
nfsclient 1) Fix up locking in nfs_up() and nfs_down. 2006-11-20 04:14:23 +00:00
nfsserver Push Giant a bit further off the NFS server in a number of straight 2006-11-24 11:53:16 +00:00
opencrypto
pc98 MFi386: revisions from 1.641 to 1.643. 2006-11-20 12:32:04 +00:00
pccard
pci Add TSO support. 2006-11-21 04:40:30 +00:00
powerpc Make pmap_enter() responsible for setting PG_WRITEABLE instead 2006-11-12 21:48:34 +00:00
rpc
security Merge posix4/* into normal kernel hierarchy. 2006-11-11 16:26:58 +00:00
sparc64 Add mechanism to track TSB misses in tsb miss handler 2006-11-22 00:18:22 +00:00
sun4v comment all remaining documented hypervisor functions except for msi 2006-11-24 07:49:15 +00:00
sys - Fix types of "struct vmmeter" members so they are unsigned. 2006-11-20 16:04:41 +00:00
tools
ufs change vop_lock handling to allowing tracking of callers' file and line for 2006-11-13 05:51:22 +00:00
vm The clean_map has been made local to vm_init.c long ago. 2006-11-20 16:23:34 +00:00
Makefile Merge posix4/* into normal kernel hierarchy. 2006-11-11 16:26:58 +00:00