Date: Mon, 23 Feb 2009 10:19:50 -0500 From: John Baldwin <jhb@freebsd.org> To: Scott Long <scottl@samsco.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r188833 - in head/sys: kern nfsclient sys Message-ID: <200902231019.51340.jhb@freebsd.org> In-Reply-To: <499DF89A.2030703@samsco.org> References: <200902192228.n1JMSn2Q009472@svn.freebsd.org> <200902191739.46808.jhb@freebsd.org> <499DF89A.2030703@samsco.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 19 February 2009 7:26:02 pm Scott Long wrote: > John Baldwin wrote: > > On Thursday 19 February 2009 5:28:49 pm John Baldwin wrote: > >> Author: jhb > >> Date: Thu Feb 19 22:28:48 2009 > >> New Revision: 188833 > >> URL: http://svn.freebsd.org/changeset/base/188833 > >> > >> Log: > >> Enable caching of negative pathname lookups in the NFS client. To avoid > >> stale entries, we save a copy of the directory's modification time when > >> the first negative cache entry was added in the directory's NFS node. > >> When a negative cache entry is hit during a pathname lookup, the parent > >> directory's modification time is checked. If it has changed, all of the > >> negative cache entries for that parent are purged and the lookup falls > >> back to using the RPC. This required adding a new cache_purge_negative() > >> method to the name cache to purge only negative cache entries for a given > >> directory. > >> > >> Submitted by: mohans, Rick Macklem, Ricardo Labiaga @ NetApp > >> Reviewed by: mohans > > > > Together with the previous two changes I measured a 30% drop in the number of > > RPCs for a kernel build (no modules): > > These graphs are fun, but are useless without more information on the > characteristics of the server and the NFS connections. In this case the server was an Isilon. Other folks using similar patches have reported similar results against NetApp filers. My testing was more to do a final sanity check of my tweaking of others patches so they could be integrated into the tree. Note that the primary purpose of the graphs was to show that the difference in RPC counts was statistically meaningful across a run of several tests. Also, note that the graphs are not measuring differences in wall-time, etc. (which could certainly be very sensitive to the server and other factors such as load on the network) but are merely changes in the counts of RPC requests submitted by the client. Since NFS is largely "stateless" without server-to-client callbacks, I presume that the mix of RPC requests submitted by a client are determined mostly by the NFS client rather than the server. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902231019.51340.jhb>