[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4BE4359E.9020400@cfl.rr.com>
Date: Fri, 7 May 2010 11:45:34 -0400
From: Phillip Susi <psusi@....rr.com>
To: Matthew Wilcox <matthew@....cx>
CC: linux-fsdevel@...r.kernel.org,
Linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: unified page and buffer cache?
On 5/7/2010 9:53 AM, Matthew Wilcox wrote:
> The problem you're seeing is aliasing in the page cache, not a failed
> unification of the buffer and page caches. Pages are addressed by
> (mapping, offset). Each inode generally has its own mapping. Depending
> on the file system, directories may be addressed by their own inode's
> mapping, or by the block device's mapping.
If there are two mappings that don't know about each other, then the
caches don't seem very unified to me. If I write to the file and that
data sits in the mapping for the inode, then I read the corresponding
blocks though the block device, and it has a different mapping, then I
read the old data off the disk instead of the new data in the cache. I
thought that this exact problem had been fixed long ago.
> Resolving aliasing would be horribly expensive, so it's unlikely to
> happen.
Back to the drawing board I guess. Maybe ext could be fixed to use an
inode mapping for directories instead of relying on the block device
mapping, then I could readahead() the directory instead of having to go
to the block device at all.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists