freebsd-nq/sys/nfs
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
..
bootp_subr.c
krpc_subr.c
krpc.h
nfs_common.h
nfs_diskless.c
nfs_fha.c Improve FHA locality control for NFS read/write requests. 2017-07-31 15:23:19 +00:00
nfs_fha.h Improve FHA locality control for NFS read/write requests. 2017-07-31 15:23:19 +00:00
nfs_kdtrace.h
nfs_lock.c
nfs_lock.h
nfs_mountcommon.h
nfs_nfssvc.c
nfsdiskless.h
nfsproto.h
nfssvc.h
xdr_subs.h