cvs commit: src/sys/fs/coda cnode.h coda_subr.c coda_vnops.c

Robert Watson rwatson at FreeBSD.org
Thu Feb 14 00:20:59 PST 2008


On Wed, 13 Feb 2008, Alfred Perlstein wrote:

> * Robert Watson <rwatson at 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


More information about the cvs-src mailing list