On Thu, Nov 15, 2007 at 02:46:46PM +0000, David Howells wrote: > Benny Halevy <bhalevy@xxxxxxxxxxx> wrote: > > > I think that what Nick was trying to say is that PAGE_CACHE_SIZE should > > always be used properly as the size of the memory struct Page covers (while > > PAGE_SIZE is the hardware page size and the constraint is that > > PAGE_CACHE_SIZE == (PAGE_SIZE << k) for some k >= 0). If everybody does > > that then "None of the filesystems should really care at all". That said, it > > doesn't seem like the current usage in fs/ and drivers/ is consistent with > > this convention. > > Indeed. One thing you have to consider is kmap(). I would expect it to > present an area of PAGE_SIZE for access. However, if the filesystem gets an > area of PAGE_CACHE_SIZE to fill, then I would have to do multiple kmap() calls > in the process of filling that 'pagecache page' in AFS. > > Furthermore, if a page struct covers a PAGE_CACHE_SIZE chunk of memory, then I > suspect the page allocator is also wrong, as it I believe it deals with > PAGE_SIZE chunks of memory, assuming a struct page for each. That's because you're thinking about all these difficulties outside the filesystem. Really, pagecache is in PAGE_CACHE_SIZE. Nobody said pagecache > PAGE_SIZE will work by changing a single define, but filesystems are about the least problematic here. - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html