cvs commit: src/sys/nfsclient nfs_vnops.c

Bruce Evans bde at FreeBSD.org
Sat Oct 14 00:25:19 PDT 2006


bde         2006-10-14 07:25:12 UTC

  FreeBSD src repository

  Modified files:
    sys/nfsclient        nfs_vnops.c 
  Log:
  Don't do null Setattr RPCs for VA_MARK_ATIME.  When we added the
  VA_MARK_ATIME feature to fix POSIX conformance fore execve() and mmap(),
  we thought that it was optimized well enough for the one file system
  that supports it (ffs) and harmless for other file systems (except
  layered ones which already get the layering for VOP_SETATTR() wrong).
  However, nfs_setattr() doesn't do much parameter checking, so when
  it gets a combination of parameters that it doesn't understand, it
  always does a Setattr RPC.  This RPC can't do anything good, and for
  VA_MARK_ATIME it is null except for wasting a lot of time.
  
  This is the smallest and easiest to fix of several bugs that have
  increased the number of RPCs for kernel builds on nfs by more than
  100% since 2004-11-05.  The real-time increase depends on network
  latency and parallelization and can also be very large (approaching
  the same percentage for unparallelized operations like "make depend"
  on systems with fast CPUs and high-latency networks).
  
  Revision  Changes    Path
  1.270     +2 -2      src/sys/nfsclient/nfs_vnops.c


More information about the cvs-src mailing list