DragonFly-2.3.2.130.gcc7d050 master sys/vfs/nfs nfs.h nfs_bio.c

看板DFBSD_commit作者時間16年前 (2009/07/19 06:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit cc7d050efbecc414ade969ceb3dacdfe64210a79 Author: Matthew Dillon <dillon@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 occurs. * 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 TCP mount. 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(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/cc7d050efbecc414ade969ceb3dacdfe64210a79 -- DragonFly BSD source repository
文章代碼(AID): #1AOarf_q (DFBSD_commit)