From owner-cvs-all Thu Nov 12 18:39:09 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA06306 for cvs-all-outgoing; Thu, 12 Nov 1998 18:39:09 -0800 (PST) (envelope-from owner-cvs-all@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA06299; Thu, 12 Nov 1998 18:39:06 -0800 (PST) (envelope-from msmith@FreeBSD.org) From: Michael Smith Received: (from msmith@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id SAA11949; Thu, 12 Nov 1998 18:39:09 -0800 (PST) Date: Thu, 12 Nov 1998 18:39:09 -0800 (PST) Message-Id: <199811130239.SAA11949@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: cvs commit: src/sys/nfs nfs_vnops.c nfsnode.h Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk 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