[Pvfs2-developers] Review: readcaching code
Murali Vilayannur
murali.vilayannur at gmail.com
Tue Feb 20 02:06:28 EST 2007
Hi all,
Finally, I got some time to whip up the read-caching patches for
non-mutable files into a semblance of shape and stability.
With this patch, I am able to get I/Os to a file (marked immutable)
serviced from the page-cache. One can tag a file as immutable by
running,
./src/apps/admin/pvfs2-xattr -s -k user.pvfs2.meta_hint -v
"+immutable" /path/to/pvfs2-file
To verify if a file is indeed tagged immutable,
./src/apps/admin/pvfs2-xattr -t -k user.pvfs2.meta_hint /path/to/pvfs2-file
(or)
./src/apps/admin/pvfs2-stat /path/to/pvfs2/file
I have also added some preliminary statistics exported via
/proc/sys/pvfs2/stats/
that can be used as a placeholder for more interesting statistics later on.
Currently, it only shows # of reads, writes, hits in thepage-cache and misses.
For some reason now, cache hits do not happen across a file close.
Within a file open-close session, all reads get serviced from the
cache though. Very weird.
My hunch is that file pages are somehow getting removed from the radix
tree of the address space due to some page-ref counting issues. I will
dig into this later this week.
In any case, this code should not cause any regression of older code
paths (hopefully!) and should not impose any performance penalties for
workloads making use of the page-cache because of the way we aggregate
cache miss I/Os to the server.
It was really nice to be able to make use of the iox() infrastructure
that was already in place to service non-contigous file and memory
I/O.
More details of the implementation is described in the thread below.
http://www.beowulf-underground.org/pipermail/pvfs2-developers/2006-November/002847.html
Hopefully, I have addressed most of Pete's comments.
More comments and testing welcome!
thanks,
Murali
-------------- next part --------------
A non-text attachment was scrubbed...
Name: read-cache-5.patch
Type: text/x-patch
Size: 754218 bytes
Desc: not available
Url : http://www.beowulf-underground.org/pipermail/pvfs2-developers/attachments/20070220/eeec6c36/read-cache-5-0001.bin
More information about the Pvfs2-developers
mailing list