1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00
freebsd/sys
Rick Macklem 93c5875b24 Fix several performance related issues in the new NFS server's
DRC for NFS over TCP.
- Increase the size of the hash tables.
- Create a separate mutex for each hash list of the TCP hash table.
- Single thread the code that deletes stale cache entries.
- Add a tunable called vfs.nfsd.tcphighwater, which can be increased
  to allow the cache to grow larger, avoiding the overhead of frequent
  scans to delete stale cache entries.
  (The default value will result in frequent scans to delete stale cache
   entries, analagous to what the pre-patched code does.)
- Add a tunable called vfs.nfsd.cachetcp that can be used to disable
  DRC caching for NFS over TCP, since the old NFS server didn't DRC cache TCP.
It also adjusts the size of nfsrc_floodlevel dynamically, so that it is
always greater than vfs.nfsd.tcphighwater.

For UDP the algorithm remains the same as the pre-patched code, but the
tunable vfs.nfsd.udphighwater can be used to allow the cache to grow
larger and reduce the overhead caused by frequent scans for stale entries.
UDP also uses a larger hash table size than the pre-patched code.

Reported by:	wollman
Tested by:	wollman (earlier version of patch)
Submitted by:	ivoras (earlier patch)
Reviewed by:	jhb (earlier version of patch)
MFC after:	1 month
2013-08-14 21:11:26 +00:00
..
amd64 Merge acpica_machdep.h for amd64 and i386 and move to x86. In fact, these 2013-08-13 22:05:10 +00:00
arm Rename imx_machdep.c to imx51_machdep.c, because it contains hardware 2013-08-13 21:12:28 +00:00
boot
bsm
cam Added 4K quirks for:- 2013-08-14 15:18:28 +00:00
cddl Use kld_{load,unload} instead of mod_{load,unload} for the linker file load 2013-08-14 00:42:21 +00:00
compat
conf
contrib
crypto
ddb
dev If sys/param.h MAXPHYS has been tuned to exceed MFI_MAXPHYS, the mfi(4) 2013-08-14 15:50:34 +00:00
fs Fix several performance related issues in the new NFS server's 2013-08-14 21:11:26 +00:00
gdb
geom Return error when opening read-only volumes (like RAID4/5/...) for writing. 2013-08-13 07:56:40 +00:00
gnu/fs/reiserfs
i386 Merge acpica_machdep.h for amd64 and i386 and move to x86. In fact, these 2013-08-13 22:05:10 +00:00
ia64 Tidy up global locks for ACPICA. There is no functional change. 2013-08-13 21:34:03 +00:00
isa
kern Use kld_{load,unload} instead of mod_{load,unload} for the linker file load 2013-08-14 00:42:21 +00:00
kgssapi
libkern
mips
modules Fix make depend 2013-08-14 08:03:57 +00:00
net
net80211 Replace the homegrown implementation of nitems() with calls to nitems() 2013-08-14 04:24:25 +00:00
netatalk
netgraph
netinet Virtualize carp(4) variables to have per vnet control. 2013-08-13 19:59:49 +00:00
netinet6
netipsec
netipx
netnatm
netpfil
netsmb
nfs
nfsclient
nfsserver
nlm
ofed
opencrypto
pc98
pci
powerpc
rpc
security
sparc64
sys Use kld_{load,unload} instead of mod_{load,unload} for the linker file load 2013-08-14 00:42:21 +00:00
teken
tools
ufs
vm - Add a statically allocated memguard arena since it is needed very early 2013-08-13 22:40:43 +00:00
x86 Merge acpica_machdep.h for amd64 and i386 and move to x86. In fact, these 2013-08-13 22:05:10 +00:00
xdr
xen
Makefile