[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YDbmT87E106uS1Xa@google.com>
Date: Wed, 24 Feb 2021 16:50:39 -0700
From: Yu Zhao <yuzhao@...gle.com>
To: Matthew Wilcox <willy@...radead.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>, vbabka@...e.cz,
alex.shi@...ux.alibaba.com, guro@...com, hannes@...xchg.org,
hughd@...gle.com, linux-kernel@...r.kernel.org, linux-mm@...ck.org,
mhocko@...nel.org, vdavydov.dev@...il.com
Subject: Re: [PATCH] mm: test page->flags directly in page_lru()
On Wed, Feb 24, 2021 at 10:48:46PM +0000, Matthew Wilcox wrote:
> On Wed, Feb 24, 2021 at 03:34:16PM -0700, Yu Zhao wrote:
> > > If only somebody were working on a patch series to get rid of
> > > all those calls to compound_head()! Some reviews on
> > > https://lore.kernel.org/linux-mm/20210128070404.1922318-2-willy@infradead.org/
> > > would be nice.
> >
> > I'm on board with the idea and have done some research in this
> > direction. We've found that the ideal *anon* page size for Chrome OS
> > is not 4KB or 2MB, but 32KB. I hope we could leverage the folio to
> > support flexible anon page size to reduce the number of page faults
> > (vs 4KB) or internal fragmentation (vs 2MB).
> >
> > That being said, it seems to me this is a long term plan and right
> > now we need something smaller. So if you don't mind, I'll just go
> > ahead and remove compound_head() from Page{LRU,Active,Unevictable,
> > SwapBacked} first?
>
> It's really not a big change I'm suggesting here. You need
> https://lore.kernel.org/linux-mm/20210128070404.1922318-2-willy@infradead.org/
> https://lore.kernel.org/linux-mm/20210128070404.1922318-5-willy@infradead.org/
> https://lore.kernel.org/linux-mm/20210128070404.1922318-8-willy@infradead.org/
> and then the patch I sent above to create folio_lru().
>
> Then any changes you want to make to use folios more broadly will
> incrementally move us towards your goal of 32kB anon pages.
Well, these patches introduce a new concept which I'm on board with.
Assume everybody else is too, it still seems to me it's an overkill
to employee folio to just get rid of unnecessary compound_head()
in page_lru() -- this is not a criticism but a compliment.
Let me work out something *conceptually* smaller first, and if you
think folio is absolutely more suitable even for this specific issue,
I'll go review and test the four patches you listed. Sounds good?
Powered by blists - more mailing lists