Re: [PATCH 0/3] fs, mm: get rid of PAGE_CACHE_* and page_cache_{get,release} macros

From: Kirill A. Shutemov
Date: Mon Mar 21 2016 - 13:07:30 EST


On Mon, Mar 21, 2016 at 11:59:25AM -0500, Christoph Lameter wrote:
> On Mon, 21 Mar 2016, Kirill A. Shutemov wrote:
>
> > We do have anon-THP pages on LRU. My huge tmpfs patchset also put
> > file-THPs on LRU list.
>
> So they are on the LRU as 4k units? Tried to look it up.

One entry on LRU per huge page.

> > > Will this actually work if we have really huge memory (100s of TB) where
> > > almost everything is a huge page? Guess we have to use hugetlbfs and we
> > > need to think about this as being exempt from paging.
> >
> > Sorry, I failed to understand your message.
> >
> > Look on huge tmpfs patchset. It allows both small and huge pages in page
> > cache.
>
> Thus my wonder about this patchset. It seems then that the huge pages are
> treated as 4k pages? Otherwise we would have two sizes for pages in the
> page cache. Sorry I did not follow that too closely. Will try finding that
> patchset.

We do have two page sizes in the page cache. It's the only option to get
transparent huge pages transparent.

We have 512 (on x86-64) entries on radix-tree per huge page, but we can
opt to Matthew's multi-order entries later. See e61452365372 "radix_tree:
add support for multi-order entries".

--
Kirill A. Shutemov