Re: [PATCH v5 3/3] mm/mempolicy: Support memory hotplug in weighted interleave
From: Oscar Salvador
Date: Wed Apr 02 2025 - 11:42:11 EST
On Wed, Apr 02, 2025 at 10:14:42AM -0400, Gregory Price wrote:
> On Wed, Apr 02, 2025 at 11:51:17AM +0200, Oscar Salvador wrote:
> > > + case MEM_OFFLINE:
> > > + if (!node_state(nid, N_MEMORY))
> > > + sysfs_wi_node_release(nid);
> >
> > This check is not needed.
> >
> > If status_change_nid is different than NUMA_NO_NODE, it means that the memory
> > state of the numa node was effectively changed.
> > So doing:
> >
> > case MEM_OFFLINE:
> > sysfs_wi_node_release(nid)
> >
> > is enough.
>
> offline_pages will call this callback unconditionally any time it's
> called (and succeeds). If 2 dax devices online into the same node, it's
Yes, this callback will be called whenever {online,offline}_pages succeeds, but
status_change_nid will be != NUMA_NO_NODE IFF the node state changes.
And you already have the check
if (nid < 0)
goto out
at the beginning, which means that all {offline,online}_pages operation that
do not carry a numa node state change will be filtered out there.
Makes sense, or am I missing something?
--
Oscar Salvador
SUSE Labs