DragonFly commits List (threaded) for 2004-03
cvs commit: src/sys/vfs/nfs nfs_vfsops.c
dillon 2004/03/09 18:07:52 PST
DragonFly src repository
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@xxxxxxxxxxxxx>, and Matthew Dillon
Revision Changes Path
1.14 +64 -27 src/sys/vfs/nfs/nfs_vfsops.c