[PVFS2-developers] pvfs2-cp always misses acache
neillm at mcs.anl.gov
Mon Mar 28 12:37:23 EST 2005
On Mon, Mar 28, 2005 at 01:25:17PM -0500, Pete Wyckoff wrote:
> Perhaps I misunderstand what the acache is supposed to do, but this
Probably not, but you may be overlooking the fact that it never really
worked in some I/O cases verses normal metadata accesses.
Look at the mask the I/O code path asks for from the acache, verses
the mask of what's actually stored in the acache. The whole acache
needs more flexibility with respect to the mask, as the acache is all
or nothing right now.
> You can see it look up and miss in the directory (okay), then miss
> for the first file access (okay), then continue to miss the same
> file handle as the chunks of the 1 GB file are written. I expected
> it to avoid that getattr on all but the first access to the file.
I have no idea what it looks like now, but it should be entered into
the cache somewhere (it may not be obvious where), except for in the
case of writes (in which case the size mask is invalidated -- and thus
the mask problem mentioned above). It's possible there's a commit log
somewhere that might explain why it can't entered (at least
temporarily) if you're sure it's not being done anywhere.
> The sys-io state machine jumps to pvfs2_client_getattr_acache_sm to
> do the getattr work, and that SM will check in the cache, then do the
> getattr to the server on a miss, but it does not have code to update
> the cache. Contrast that with pvfs2_client_getattr_sm that does
> similar operations, but updates the acache after it's done.
If you're sure try 'fixing' it ;-)
More information about the PVFS2-developers