cvs commit: src/sys/vfs/nfs nfs.h nfs_nqlease.c nfs_socket.c nfs_syscalls.c

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Mar 27 15:53:19 PST 2005


dillon      2005/03/27 15:51:43 PST

DragonFly src repository

  Modified files:
    sys/vfs/nfs          nfs.h nfs_nqlease.c nfs_socket.c 
                         nfs_syscalls.c 
  Log:
  Do a better job distributing RPC requests on the NFS server side.  This
  applies to both TCP and UDP mounts.
  
  Previously when multiple requests were received all at once only one would
  be immediately distributed to an idle NFSD, causing the requests to be
  serialized on the server if no other nfsd's were active at the time and if
  no other event occurs to wake up other idle nfsd's.
  
  Now nfsrv_getstream() returns a count of the number of RPCs that were parsed
  and multiple NFSDs will be woken up to process them.
  
  Some fine-tuning is still required.  In particular, it is actually less
  efficient for the server to wakeup multiple NFSd (at least on a UP machine)
  if the requests do not entail I/O.  However, since this only effects client
  operations that are issued in parallel (e.g. a make -j build on the client)
  I believe the positive aspects outweight the negative ones.
  
  Revision  Changes    Path
  1.10      +3 -1      src/sys/vfs/nfs/nfs.h
  1.23      +0 -1      src/sys/vfs/nfs/nfs_nqlease.c
  1.25      +37 -21    src/sys/vfs/nfs/nfs_socket.c
  1.20      +4 -3      src/sys/vfs/nfs/nfs_syscalls.c


http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs.h.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_nqlease.c.diff?r1=1.22&r2=1.23&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_socket.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_syscalls.c.diff?r1=1.19&r2=1.20&f=u





More information about the Commits mailing list