Date: Thu, 12 Nov 1998 18:39:09 -0800 (PST) From: Michael Smith <msmith@FreeBSD.ORG> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: cvs commit: src/sys/nfs nfs_vnops.c nfsnode.h Message-ID: <199811130239.SAA11949@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
msmith 1998/11/12 18:39:09 PST
Modified files:
sys/nfs nfs_vnops.c nfsnode.h
Log:
Implement NFS ACCESS RPC result caching.
This yields startling performance increases for NFS clients for many
access profiles, due to the fact that ACCESS results are persistently
cached in the namecache in many cases.
Note that the code is somewhat conservative in that it requires an
exact credential match for a cache hit. This bloats the nfsnode
structure by sizeof(struct ucred) (96 bytes). Any less conservative
approach opens the possibility for a false veto in eg. setuid
applications. Alternative suggestions would be welcomed.
The cache is normally disabled, to activate set the sysctl variable
vfs.nfs.access_cache_timeout to a nonzero value. This is the time in
seconds that a cached entry will be considered valid; useful values appear
to be 2-10 seconds. Performance of the cache can be monitored with the
vfs.nfs.access_cache_hits and vfs.nfs.access_cache_hits variables.
Revision Changes Path
1.112 +94 -23 src/sys/nfs/nfs_vnops.c
1.27 +4 -1 src/sys/nfs/nfsnode.h
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811130239.SAA11949>
