Re: [PATCH v6 3/3] mm/mempolicy: Support memory hotplug in weighted interleave
From: Rakie Kim
Date: Mon Apr 07 2025 - 05:38:11 EST
On Fri, 4 Apr 2025 10:43:18 +0200 Oscar Salvador <osalvador@xxxxxxx> wrote:
> On Fri, Apr 04, 2025 at 04:46:21PM +0900, Rakie Kim wrote:
> > The weighted interleave policy distributes page allocations across multiple
> > NUMA nodes based on their performance weight, thereby improving memory
> > bandwidth utilization. The weight values for each node are configured
> > through sysfs.
> >
> > Previously, sysfs entries for configuring weighted interleave were created
> > for all possible nodes (N_POSSIBLE) at initialization, including nodes that
> > might not have memory. However, not all nodes in N_POSSIBLE are usable at
> > runtime, as some may remain memoryless or offline.
> > This led to sysfs entries being created for unusable nodes, causing
> > potential misconfiguration issues.
> >
> > To address this issue, this patch modifies the sysfs creation logic to:
> > 1) Limit sysfs entries to nodes that are online and have memory, avoiding
> > the creation of sysfs entries for nodes that cannot be used.
> > 2) Support memory hotplug by dynamically adding and removing sysfs entries
> > based on whether a node transitions into or out of the N_MEMORY state.
> >
> > Additionally, the patch ensures that sysfs attributes are properly managed
> > when nodes go offline, preventing stale or redundant entries from persisting
> > in the system.
> >
> > By making these changes, the weighted interleave policy now manages its
> > sysfs entries more efficiently, ensuring that only relevant nodes are
> > considered for interleaving, and dynamically adapting to memory hotplug
> > events.
> >
> > Signed-off-by: Rakie Kim <rakie.kim@xxxxxx>
> > Signed-off-by: Honggyu Kim <honggyu.kim@xxxxxx>
> > Signed-off-by: Yunjeong Mun <yunjeong.mun@xxxxxx>
>
> For the memory-hotplug bits: Reviewed-by: Oscar Salvador
> <osalvador@xxxxxxx<
>
> Just one thing that caught my eye:
>
> Cannot add_weighted_interleave_group be __init? AFAICS, it only gets
> called at boot time?
>
>
> --
> Oscar Salvador
> SUSE Labs
Thank you for your response regarding this patch.
I agree that `add_weighted_interleave_group` can be marked with __init,
as it is only called during system boot.
I will make this change in the next revision.
Rakie