On Thu, Jul 02, 2026 at 02:18:50AM +0900, Sang-Heon Jeon wrote:
> mem_topology_setup() intersects node_possible_map with node_online_map.
> Nothing sets node_possible_map before this, so it is NODE_MASK_ALL and
> the result is just node_online_map.
>
> In preparation for changing node_possible_map's initial value,
> mem_topology_setup() no longer depends on it.
>
> No functional change.
>
> Signed-off-by: Sang-Heon Jeon <[email protected]>
> ---
> arch/powerpc/mm/numa.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
> index f4cf3ae036de..2fdecae90a01 100644
> --- a/arch/powerpc/mm/numa.c
> +++ b/arch/powerpc/mm/numa.c
> @@ -1179,7 +1179,7 @@ void __init mem_topology_setup(void)
> * that we expect to make use of for this platform's affinity
> * calculations.
> */
> - nodes_and(node_possible_map, node_possible_map, node_online_map);
> + node_possible_map = node_online_map;
>
> find_possible_nodes();
And in find_possible_nodes():
for (i = 0; i < max_nodes; i++) {
if (!node_possible(i))
node_set(i, node_possible_map);
}
So, assuming the code reaches to that point, you unconditionally
online all the offlined nodes.
This doesn't look correct at the first glance, and definitely it's not
a "No functional change" type of things.