Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Nov 1996 02:53:21 -0800 (PST)
From:      Doug Rabson <dfr>
To:        CVS-committers, cvs-all, cvs-sys
Subject:   cvs commit:  src/sys/nfs nfs.h nfs_bio.c nfs_subs.c nfs_syscalls.c nfs_vfsops.c nfs_vnops.c nfsmount.h nfsnode.h
Message-ID:  <199611061053.CAA10519@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
dfr         96/11/06 02:53:20

  Modified:    sys/nfs   nfs.h nfs_bio.c nfs_subs.c nfs_syscalls.c
                        nfs_vfsops.c  nfs_vnops.c nfsmount.h nfsnode.h
  Log:
  Improve the queuing algorithms used by NFS' asynchronous i/o.  The
  existing mechanism uses a global queue for some buffers and the
  vp->b_dirtyblkhd queue for others.  This turns sequential writes into
  randomly ordered writes to the server, affecting both read and write
  performance.  The existing mechanism also copes badly with hung
  servers, tending to block accesses to other servers when all the iods
  are waiting for a hung server.
  
  The new mechanism uses a queue for each mount point.  All asynchronous
  i/o goes through this queue which preserves the ordering of requests.
  A simple mechanism ensures that the iods are shared out fairly between
  active mount points.  This removes the sysctl variable vfs.nfs.dwrite
  since the new queueing mechanism removes the old delayed write code
  completely.
  
  This should go into the 2.2 branch.
  
  Revision  Changes    Path
  1.19      +2 -2      src/sys/nfs/nfs.h
  1.29      +85 -35    src/sys/nfs/nfs_bio.c
  1.34      +4 -4      src/sys/nfs/nfs_subs.c
  1.15      +40 -40    src/sys/nfs/nfs_syscalls.c
  1.31      +6 -1      src/sys/nfs/nfs_vfsops.c
  1.37      +2 -1      src/sys/nfs/nfs_vnops.c
  1.8       +22 -1     src/sys/nfs/nfsmount.h
  1.16      +3 -1      src/sys/nfs/nfsnode.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611061053.CAA10519>