Re: [RFC PATCH 1/3] mm/numa: add exclusive node pool and numa=standby boot parameter
From: Mike Rapoport
Date: Thu Jul 02 2026 - 07:16:43 EST
On Tue, Jun 23, 2026 at 12:36:19PM -0400, Gregory Price wrote:
> On Sun, Jun 14, 2026 at 12:08:31PM +0300, Mike Rapoport wrote:
> > On Thu, Jun 11, 2026 at 10:04:01AM -0400, Gregory Price wrote:
> > > On Thu, Jun 11, 2026 at 12:00:17PM +0300, Mike Rapoport wrote:
> >
> > > So really i think you're pointing out that futex_init() here probably
> > > shouldn't be using num_possible_nodes?
> >
> > I'd rather say that num_possible_nodes() with and without CXL (or other
> > differentiated memory) has different semantics.
> > Maybe we need to add a new primitive for possible differentiated nodes and
> > keep num_possible_nodes() to mean "number of possible nodes with normal
> > memory".
> >
>
> We'd have to define "normal" here a little more discretely.
>
> Normal = N_MEMORY at __init?
> Normal = N_MEMORY in the future?
Normal = not differentiated, no matter at __init or in the future.
I.e. memory that kernel will use with existing allocation primitives.
> We also use the possible_nodes() mask to allocate per-node pgdat, so
> the futex example is largely just another "hey look at this thing,
> I wonder what other stuff is out there".
Right, futex is only one example. My point is that with multiplication of
possible and not populated nodes the possible_nodes() mask may not reflect
adequately the limits its callers look for.
And that maybe it's time to audit possible_nodes() callers.
> ~Gregory
--
Sincerely yours,
Mike.