Re: PAGE_CACHE_SIZE vs. PAGE_SIZE

From: Michel Lespinasse
Date: Tue Feb 19 2013 - 11:12:18 EST


On Fri, Feb 1, 2013 at 6:40 AM, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Fri, 18 Jan 2013 17:57:25 +0200
> "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> wrote:
>
>> Hi,
>>
>> PAGE_CACHE_* macros were introduced long time ago in hope to implement
>> page cache with larger chunks than one page in future.
>>
>> In fact it was never done.
>>
>> Some code paths assume PAGE_CACHE_SIZE <= PAGE_SIZE. E.g. we use
>> zero_user_segments() to clear stale parts of page on cache filling, but
>> the function is implemented only for individual small page.
>>
>> It's unlikely that global switch to PAGE_CACHE_SIZE > PAGE_SIZE will never
>> happen since it will affect to much code at once.
>>
>> I think support of larger chunks in page cache can be in implemented in
>> some form of THP with per-fs enabling.
>>
>> Is it time to get rid of PAGE_CACHE_* macros?
>> I can prepare patchset if it's okay.
>
> The distinct PAGE_CACHE_SIZE has never been used for anything, but I do
> kinda like it for documentary reasons: PAGE_SIZE is a raw, low-level
> thing and PAGE_CACHE_SIZE is the specialized
> we're-doing-pagecache-stuff thing.
>
> But I'm sure I could get used to not having it ;)

Personally I always find such distinctions without a difference - like
page_cache_release vs put_page - rather confusing, especially when
working near the fs/mm boundary (for example in and under
handle_pte_fault())

--
Michel "Walken" Lespinasse
A program is never fully debugged until the last user dies.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/