Messages in this thread | | | From | David Howells <> | Subject | Re: [PATCH 06/43] FS-Cache: Recruit a couple of page flags for cache management [ver #46] | Date | Thu, 02 Apr 2009 15:36:12 +0100 |
| |
Nick Piggin <nickpiggin@yahoo.com.au> wrote:
> 1) PG_mappedtodisk is basically PG_owner_priv_2. Please alias that and > use it? Then at least we're down to 1 extra flag. > 2) Why do you need another PG_private? PG_private for pagecache means > that it should call into the filesystem when it needs to handle fs data > attached to the page, right? So PG_private_2 doesn't really make sense > in that respect.
Won't that either break fs/buffer.c and fs/mpage.c or preclude the use of FS-Cache with block-based filesystems that use the standard buffer wangling routines?
As I've previously stated, I want to be able to make ISO9660 use FS-Cache. That rules out use of PG_mappedtodisk and PG_private for anything FS-Cache related.
We can actually reclaim PG_private, I think. There are patches to do that. At the very least, we can probably reclaim the std buffering code's use of it.
If anything, avoiding the need for PG_fscache_write is probably easier - just more memory intensive and slower. I could build a second radix tree for each inode that kept track of which pages from that inode FS-Cache knows about, and use the status bits in that node to keep track of what pages are being written out to the cache.
We still need a way of triggering the page invalidation callbacks for in-use pages, however. PG_private, as I've said, is not currently a viable option.
David
| |