Re: Is it possible to implement the per-node page cache for programs/libraries?

From: Linus Torvalds
Date: Wed Sep 01 2021 - 13:24:56 EST


On Tue, Aug 31, 2021 at 9:57 PM Al Viro <viro@xxxxxxxxxxxxxxxxxx> 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