Re: PAGE_CACHE_SIZE vs. PAGE_SIZE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux