Re: [PATCH v4 3/4] Remove register_memory_blocks_under_node() function call from register_one_node

From: Mike Rapoport
Date: Fri May 16 2025 - 06:10:55 EST


On Fri, May 16, 2025 at 03:19:53AM -0500, Donet Tom wrote:
> register_one_node() is now only called via cpu_up() → __try_online_node()
> during CPU hotplug operations to online a node. At this stage, the node has
> not yet had any memory added. As a result, there are no memory blocks to
> walk or register, so calling register_memory_blocks_under_node() is
> unnecessary. Therefore, the call to register_memory_blocks_under_node()
> has been removed from register_one_node().
>
> Signed-off-by: Donet Tom <donettom@xxxxxxxxxxxxx>

Acked-by: Mike Rapoport (Microsoft) <rppt@xxxxxxxxxx>

> ---
> v3->v4
>
> Addressed Mike's comment by dropping the call to
> register_memory_blocks_under_node() from register_one_node()
>
> v3 - https://lore.kernel.org/all/b49ed289096643ff5b5fbedcf1d1c1be42845a74.1746250339.git.donettom@xxxxxxxxxxxxx/
> v2 - https://lore.kernel.org/all/fbe1e0c7d91bf3fa9a64ff5d84b53ded1d0d5ac7.1745852397.git.donettom@xxxxxxxxxxxxx/
> v1 - https://lore.kernel.org/all/50142a29010463f436dc5c4feb540e5de3bb09df.1744175097.git.donettom@xxxxxxxxxxxxx/
> ---
> include/linux/node.h | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/include/linux/node.h b/include/linux/node.h
> index 806e62638cbe..8b8f96ca5b06 100644
> --- a/include/linux/node.h
> +++ b/include/linux/node.h
> @@ -137,15 +137,9 @@ static inline int register_one_node(int nid)
> int error = 0;
>
> if (node_online(nid)) {
> - struct pglist_data *pgdat = NODE_DATA(nid);
> - unsigned long start_pfn = pgdat->node_start_pfn;
> - unsigned long end_pfn = start_pfn + pgdat->node_spanned_pages;
> -
> error = __register_one_node(nid);
> if (error)
> return error;
> - register_memory_blocks_under_node(nid, start_pfn, end_pfn,
> - MEMINIT_EARLY);
> }
>
> return error;
> --
> 2.43.5
>

--
Sincerely yours,
Mike.