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