lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210225035553.GX2858050@casper.infradead.org>
Date:   Thu, 25 Feb 2021 03:55:53 +0000
From:   Matthew Wilcox <willy@...radead.org>
To:     Yu Zhao <yuzhao@...gle.com>
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 04:50:39PM -0700, Yu Zhao wrote:
> 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.

It's not really a new concept ... it's a new type for an existing concept
(a head page).

> 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.

It's not overkill, that really is the point of a folio!  If you
think about it, only head pages can be on the LRU list (because the
compound_head is in the union with the lru list_head).  So it
always makes sense to talk about folios on the LRU list.

> 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?

Umm.  It seems to me that no matter what you do, it'll be equivalent to
this, only without the type-safety?

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ