Re: [PATCH v5 00/36] Private Memory NUMA Nodes

From: Gregory Price

Date: Tue Jul 21 2026 - 15:02:21 EST


On Tue, Jul 21, 2026 at 01:46:01PM +1000, Balbir Singh wrote:
> On 7/21/26 5:33 AM, Gregory Price wrote:
> >
> > Patch Layout
> > ============
> > The series is broken into two sections:
> >
> > 1) N_MEMORY_PRIVATE Introduction.
> > Introduce the node state.
> > Opt those nodes out of mm/ services.
> >
> > 2) NODE_PRIVATE_CAP_* features
> > A set of mm/ service opt-in flags that augment private
> > nodes to make them more useful (i.e. reclaim = overcommit).
> >
> > NODE_PRIVATE_CAP_LTPIN for private node folio pinning
> > NODE_PRIVATE_CAP_NUMA_BALANCING for private-node NUMA balancing
> > NODE_PRIVATE_CAP_DEMOTION for private-node tiering demotion
> > NODE_PRIVATE_CAP_HOTUNPLUG for opted-in private nodes
> > NODE_PRIVATE_CAP_USER_NUMA for userland numa controls
> > NODE_PRIVATE_CAP_RECLAIM for opted-in private node reclaim
> >
>
> Looks reasonable, I wonder why USER_NUMA/HOTUNPUG is an opt-in?
>

Ideologically: Private nodes default to fully isolated, why should any
given feature be special?

Concretely:

User-numa

Some devices don't want the user to have control over placement.
I have been working on compressed memory, for example, which only
ever wants to be used as a reclaim-demotion target.

(The reasoning for this is another thread, i plan on publishing
my research on this this year)

Hot-unplug:

Some devices can't necessarily handle unexpected migration, and
hot-unplug is fundamentally a migration. So the HOTUNPLUG cap
actually means "hot-unplug can execute migrations".

If the entire device has pre-drained the memory (all memory is free)
then unplug works - it's just not very hot (no migrations) :]

Maybe a naming issue?

~Gregory