DragonFly-126.96.36.199.gcc7d050 master sys/vfs/nfs nfs.h nfs_bio.c nfs_iod.c nfs_socket.c nfs_syscalls.c nfs_vnops.c nfsm_subs.c nfsm_subs.h nfsmount.h
dillon at crater.dragonflybsd.org
Sat Jul 18 15:11:21 PDT 2009
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sat Jul 18 15:03:49 2009 -0700
NFS - Implement async write BIO, greatly increase sockbuf limits, better rexmit
* Write BIOs are now executed asynchronously.
* Commit BIOs are now executed asynchronously.
* Increase the sockbuf limit to around 2MBytes, which is what is needed
to handle the burst writing a DragonFly client can do now when the
kernel flushes its buffers (at least for a UDP socket).
* Adjust the rexmit code. Also detect duplicate packets received and
adjust the SRTT up a little since no RTT is calculated when a timeout
* NEW SYSCTLS:
vfs.nfs.soreserve - This parameter now overrides all other kernel and
user parameters to set the NFS sockets limit.
vfs.nfs.maxasyncbio - This is set to the hard-coded maximum by default
and may be reduced to accomodate insufficiently
endowed remote servers.
* NOTE ON UDP MOUNTS TO REMOTE SERVERS. If the remote server does not have
sufficient sockbuf space to receive a large burst of UDP packets performance
will suffer greatly. To allieviate this issue you can decrease
vfs.nfs.maxasyncbio on the DragonFly client, or you can simply use a
Summary of changes:
sys/vfs/nfs/nfs.h | 20 +-
sys/vfs/nfs/nfs_bio.c | 615 ++++++++++++++++++++++++++++++--------------
sys/vfs/nfs/nfs_iod.c | 6 +
sys/vfs/nfs/nfs_socket.c | 103 +++++---
sys/vfs/nfs/nfs_syscalls.c | 13 +-
sys/vfs/nfs/nfs_vnops.c | 28 ++-
sys/vfs/nfs/nfsm_subs.c | 76 ++++++-
sys/vfs/nfs/nfsm_subs.h | 11 +-
sys/vfs/nfs/nfsmount.h | 5 +-
9 files changed, 614 insertions(+), 263 deletions(-)
DragonFly BSD source repository
More information about the Commits