Re: [PATCH v2 3/3] mm: use PF_ONLY_HEAD for PG_active and PG_unevictable
From: Matthew Wilcox
Date: Fri Feb 26 2021 - 15:33:09 EST
On Fri, Feb 26, 2021 at 12:49:41PM -0700, Yu Zhao wrote:
>
On Fri, Feb 26, 2021 at 12:13:14PM +0000, Matthew Wilcox wrote:
>
> On Fri, Feb 26, 2021 at 02:17:18AM -0700, Yu Zhao wrote:
>
> > All places but one test, set or clear PG_active and PG_unevictable on
>
> > small or head pages. Use compound_head() explicitly for that singleton
>
> > so the rest can rid of redundant compound_head().
>
>
>
> How do you know it's only one place? I really wish you'd work with me
>
> on folios. They make the compiler prove that it's not a tail page.
>
>
I hasn't been following the effort closely, so I'm rereading the very
>
first discussion "Are THPs the right model for the pagecache?" and
>
then I need to rewatch the recorded Zoom meeting. As I said I'm on
>
board with the idea, but I can't create a roadmap based on my current
>
rough understanding, unless you prefer me to just randomly throw some
>
reviewed-bys at your patches in the next few days. (Our long-term plan
>
for folios is to support arbitrary anon page sizes because anon memory
>
is more than 90% of total user memory on Android, Chrome OS and in our
>
data centers.)
>
>
That said, if you have something ready to test, we could do it for you
>
in our runtime environments immediately.
I don't have anything ready to test for anonymous memory; indeed I have no
plans to work on anonymous memory myself. My focus is on the page cache.
But, once we get the folio _concept_ into the kernel (ie a struct page
which is definitely not a tail page), it can be used more widely than
the page cache, and independently from anything I'm working on. The
biggest risk is that we end up duplicating work ...