Date: Thu, 14 Feb 2008 08:20:58 +0000 (GMT) From: Robert Watson <rwatson@FreeBSD.org> To: Alfred Perlstein <alfred@freebsd.org> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/fs/coda cnode.h coda_subr.c coda_vnops.c Message-ID: <20080214081830.N13849@fledge.watson.org> In-Reply-To: <20080214020203.GP99258@elvis.mu.org> References: <200802131545.m1DFjCq0092390@repoman.freebsd.org> <20080214020203.GP99258@elvis.mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 13 Feb 2008, Alfred Perlstein wrote: > * Robert Watson <rwatson@FreeBSD.org> [080213 07:45] wrote: >> rwatson 2008-02-13 15:45:12 UTC >> >> FreeBSD src repository >> >> Modified files: >> sys/fs/coda cnode.h coda_subr.c coda_vnops.c >> Log: > ... >> Since the Coda module is agressive about not keeping around >> unopened cnodes, the utility of the cache is somewhat limited for >> files, but works will for directories. We should make Coda less >> agressive about GCing cnodes in VOP_INACTIVE() in order to improve >> the effectiveness of in-kernel caching of attributes and access >> rights. > > Move the GC to the VOP_RECLAIM VOP and you'll get what you want. It's not quite that simple, unfortunately -- it's not clear that the kernel gets reliable access to the link count of the object, so may not be able to make an informed decision about whether it's appropriate to vrecycle() in VOP_INACTIVE(). Also, there's a downcall to userspace for VOP_INACTIVE(), but not for VOP_RECLAIM(), and I need to think a bit about whether the two are sufficiently equivalent to move the inactive downcall to reclaim. I'm looking at making the VOP_RECLAIM change, but I think there's more legwork to be done first. Robert N M Watson Computer Laboratory University of Cambridge
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080214081830.N13849>