cvs commit: src/sys/vfs/nfs nfs_vfsops.c

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Mar 9 18:09:01 PST 2004


dillon      2004/03/09 18:07:52 PST

DragonFly src repository

  Modified files:
    sys/vfs/nfs          nfs_vfsops.c 
  Log:
  Allow the nominal NFS io block size to be set with a sysctl vfs.nfs.nfs_io_size
  and default it to the largest possible block size (32K), regardless of the
  network transfer size settings.  nfs_iosize() is no longer based on the
  network transfer size but is matched against the maximum data block size
  for the protocol and transport (8K for NFSv2, 16K for NFSv3/UDP, 32K for
  NFSv3/TCP).  Adjust statfs() reporting to suit.
  
  This should improve performance over high bandwidth connections, primarily
  by causing the client to use larger buffer cache buffers (16K or 32K instead
  of 8K prior to this commit), and also improving read-ahead (which goes by
  blocks).  In particular, while the largest network transfer size over UDP
  is 16K, the largest transfer size of TCP is 32K, so TCP ought to reap the
  largest reward w/ this commit.
  
  Delay retrieval of mountpoint attributes until the mountpoint is actually
  accessed or a df() occurs.
  
  Submitted-by: Hiten Pandya <hmp at xxxxxxxxxxxxx>, and Matthew Dillon
  
  Revision  Changes    Path
  1.14      +64 -27    src/sys/vfs/nfs/nfs_vfsops.c


http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_vfsops.c.diff?r1=1.13&r2=1.14&f=h





More information about the Commits mailing list