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: <CAHk-=wiwAC8L7UsRsd-sHNS8ZETbrTB0EELvYV1qMOUo86R7kg@mail.gmail.com>
Date:   Wed, 1 Sep 2021 10:24:32 -0700
From:   Linus Torvalds <torvalds@...ux-foundation.org>
To:     Al Viro <viro@...iv.linux.org.uk>
Cc:     Shijie Huang <shijie@...eremail.onmicrosoft.com>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Linux-MM <linux-mm@...ck.org>,
        "Song Bao Hua (Barry Song)" <song.bao.hua@...ilicon.com>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Frank Wang <zwang@...erecomputing.com>
Subject: Re: Is it possible to implement the per-node page cache for programs/libraries?

On Tue, Aug 31, 2021 at 9:57 PM Al Viro <viro@...iv.linux.org.uk> wrote:
>
> What do you mean, per-node page cache?  Multiple pages for the same
> area of file?  That'd be bloody awful on coherency...

You absolutely don't want to actually duplicate it in the cache.

But what you could do, if  you wanted to, would be to catch the
situation where you have lots of expensive NUMA accesses either using
our VM infrastructure or performance counters, and when the mapping is
a MAP_PRIVATE you just do a COW fault on them.

Honestly, I suspect it only makes sense when you have already bound
your process to one particular NUMA node.

Sounds entirely doable, and has absolutely nothing to do with the page
cache. It would literally just be an "over-eager COW fault triggered
by NUMA access counters".

             Linus

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ