freebsd-dev/sys/fs/nfsserver
Alexander Motin e9c9826673 Improve FHA locality control for NFS read/write requests.
This change adds two new tunables, allowing to control serialization for
read and write NFS requests separately.  It does not change the default
behavior since there are too many factors to consider, but gives additional
space for further experiments and tuning.

The main motivation for this change is very low write speed in case of ZFS
with sync=always or when NFS clients requests sychronous operation, when
every separate request has to be written/flushed to ZIL, and requests are
processed one at a time.  Setting vfs.nfsd.fha.write=0 in that case allows
to increase ZIL throughput by several times by coalescing writes and cache
flushes.  There is a worry that doing it may increase data fragmentation
on disks, but I suppose it should not happen for pool with SLOG.

MFC after:	1 week
Sponsored by:	iXsystems, Inc.
2017-07-31 15:23:19 +00:00
..
nfs_fha_new.c Improve FHA locality control for NFS read/write requests. 2017-07-31 15:23:19 +00:00
nfs_fha_new.h Revamp the old NFS server's File Handle Affinity (FHA) code so that 2013-04-17 21:00:22 +00:00
nfs_nfsdcache.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nfs_nfsdkrpc.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nfs_nfsdport.c Rename vfs.nfsd.enable_uidtostring to vfs.nfs.enable_uidtostring. 2017-07-19 09:59:32 +00:00
nfs_nfsdserv.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nfs_nfsdsocket.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nfs_nfsdstate.c Allow use of a write open stateid for reading in the NFSv4 server. 2017-04-24 20:46:19 +00:00
nfs_nfsdsubs.c Fix the NFS client/server so that it actually uses the 64bit ino_t filenos. 2017-06-18 21:48:31 +00:00