[lkml]   [2010]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: 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.

     \ /
      Last update: 2010-05-07 17:49    [W:0.023 / U:181.564 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site