Re: [PATCH v3 2/2] mm: memory_hotplug: drop memoryless node from fallback lists
From: Huang, Ying
Date: Fri Oct 20 2023 - 03:07:16 EST
Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx> writes:
> In offline_pages(), if a node becomes memoryless, we
> will clear its N_MEMORY state by calling node_states_clear_node().
> But we do this after rebuilding the zonelists by calling
> build_all_zonelists(), which will cause this memoryless node to
> still be in the fallback list of other nodes.
For fallback list, do you mean pgdat->node_zonelists[]? If so, in
build_all_zonelists
__build_all_zonelists
build_zonelists
build_zonelists_in_node_order
build_zonerefs_node
populated_zone() will be checked before adding zone into zonelist.
So, IIUC, we will not try to allocate from the memory less node.
--
Best Regards,
Huang, Ying
> This will incur
> some runtime overhead.
>
> To drop memoryless node from fallback lists in this case, just
> call node_states_clear_node() before calling build_all_zonelists().
>
> Signed-off-by: Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx>
> Acked-by: David Hildenbrand <david@xxxxxxxxxx>
[snip]
--
Best Regards,
Huang, Ying