On Wed, Jan 12, 2022 at 09:56:15AM +0100, Michal Hocko wrote: >On Wed 12-01-22 00:46:34, Wei Yang wrote: >> On Tue, Jan 11, 2022 at 09:40:20AM +0100, Michal Hocko wrote: >> >On Tue 11-01-22 01:02:59, Wei Yang wrote: >> >> Instead of use "-1", let's use NUMA_NO_NODE for consistency. >> >> >> >> Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx> >> > >> >I am not really sure this is worth it. After the merge window I plan to >> >post http://lkml.kernel.org/r/20211214100732.26335-1-mhocko@xxxxxxxxxx. >> >> Give me some time to understand it :-) > >Just for the record, here is what I have put on top of that series: Ok, I got what you try to resolve. I am ok with the following change except one point. >--- >>From b7195eba02fe6308a6927450f4630057c05e808e Mon Sep 17 00:00:00 2001 >From: Wei Yang <richard.weiyang@xxxxxxxxx> >Date: Tue, 11 Jan 2022 09:45:25 +0100 >Subject: [PATCH] memcg: do not tweak node in alloc_mem_cgroup_per_node_info > >alloc_mem_cgroup_per_node_info is allocated for each possible node and >this used to be a problem because not !node_online nodes didn't have >appropriate data structure allocated. This has changed by "mm: handle >uninitialized numa nodes gracefully" so we can drop the special casing >here. > >Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx> >Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> >--- > mm/memcontrol.c | 14 ++------------ > 1 file changed, 2 insertions(+), 12 deletions(-) > >diff --git a/mm/memcontrol.c b/mm/memcontrol.c >index 781605e92015..ed19a21ee14e 100644 >--- a/mm/memcontrol.c >+++ b/mm/memcontrol.c >@@ -5044,18 +5044,8 @@ struct mem_cgroup *mem_cgroup_from_id(unsigned short id) > static int alloc_mem_cgroup_per_node_info(struct mem_cgroup *memcg, int node) > { > struct mem_cgroup_per_node *pn; >- int tmp = node; >- /* >- * This routine is called against possible nodes. >- * But it's BUG to call kmalloc() against offline node. >- * >- * TODO: this routine can waste much memory for nodes which will >- * never be onlined. It's better to use memory hotplug callback >- * function. >- */ Do you think this TODO is not related to this change? >- if (!node_state(node, N_NORMAL_MEMORY)) >- tmp = -1; >- pn = kzalloc_node(sizeof(*pn), GFP_KERNEL, tmp); >+ >+ pn = kzalloc_node(sizeof(*pn), GFP_KERNEL, node); > if (!pn) > return 1; > >-- >2.30.2 > > >-- >Michal Hocko >SUSE Labs -- Wei Yang Help you, Help me