Re: [PATCH 1/2] mm/memcontrol: do not tweak node in mem_cgroup_init()

From: Michal Hocko
Date: Thu Jun 15 2023 - 04:15:05 EST


On Thu 15-06-23 07:32:25, Haifeng Xu wrote:
> mem_cgroup_init() request for allocations from each possible node, and
> it's used to be a problem because NODE_DATA is not allocated for offline
> node. Things have already changed since commit 09f49dca570a9 ("mm: handle
> uninitialized numa nodes gracefully"), so it's unnecessary to check for
> !node_online nodes here.

How have you tested this patch?

I am not saying it is wrong and it looks like the right thing to do. But
the early init code has proven to be more subtle than expected so it is
definitely good to know that this has been tested on memory less setup
and passed.

> Signed-off-by: Haifeng Xu <haifeng.xu@xxxxxxxxxx>
> ---
> mm/memcontrol.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 4b27e245a055..c73c5fb33f65 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -7421,8 +7421,7 @@ static int __init mem_cgroup_init(void)
> for_each_node(node) {
> struct mem_cgroup_tree_per_node *rtpn;
>
> - rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL,
> - node_online(node) ? node : NUMA_NO_NODE);
> + rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, node);
>
> rtpn->rb_root = RB_ROOT;
> rtpn->rb_rightmost = NULL;
> --
> 2.25.1

--
Michal Hocko
SUSE Labs