freebsd-skq/sys/fs/nfsclient
Robert Watson 2d9cfabad4 Add a new global rwlock, in_ifaddr_lock, which will synchronize use of the
in_ifaddrhead and INADDR_HASH address lists.

Previously, these lists were used unsynchronized as they were effectively
never changed in steady state, but we've seen increasing reports of
writer-writer races on very busy VPN servers as core count has gone up
(and similar configurations where address lists change frequently and
concurrently).

For the time being, use rwlocks rather than rmlocks in order to take
advantage of their better lock debugging support.  As a result, we don't
enable ip_input()'s read-locking of INADDR_HASH until an rmlock conversion
is complete and a performance analysis has been done.  This means that one
class of reader-writer races still exists.

MFC after:      6 weeks
Reviewed by:    bz
2009-06-25 11:52:33 +00:00
..
nfs_clbio.c Fix some of the style errors in *getpages(). 2009-06-18 05:56:24 +00:00
nfs_clcomsubs.c
nfs_clkrpc.c Add the SVC_RELEASE(xprt), as required by r194407. 2009-06-17 22:55:59 +00:00
nfs_cllock.c
nfs_clnfsiod.c
nfs_clnode.c Add a check to v_type == VREG for the recently modified code that 2009-05-30 22:11:12 +00:00
nfs_clport.c Replace RPCAUTH_UNIXGIDS with NFS_MAXGRPS so that nfscbd.c will build. 2009-06-20 17:11:07 +00:00
nfs_clrpcops.c Change the experimental NFSv4 client so that it does not do 2009-05-18 21:22:03 +00:00
nfs_clstate.c Use getcredhostuuid instead of accessing the prison directly. 2009-06-13 15:35:22 +00:00
nfs_clsubs.c
nfs_clvfsops.c Rename the host-related prison fields to be the same as the host.* 2009-06-13 15:39:12 +00:00
nfs_clvnops.c Add a new global rwlock, in_ifaddr_lock, which will synchronize use of the 2009-06-25 11:52:33 +00:00
nfs_lock.h
nfs.h Modify the diskless booting code in sys/fs/nfsclient to be compatible 2009-05-15 16:03:11 +00:00
nfsargs.h
nfsdiskless.h
nfsmount.h
nfsnode.h
nlminfo.h