Hi Punit, On 2018/6/14 1:39, Punit Agrawal wrote: > Punit Agrawal <punit.agrawal@xxxxxxx> writes: > > > [...] > >> >> CONFIG_HAVE_MEMORYLESS node is not enabled on arm64 which means we end >> up returning the original node in the fallback path. >> >> Xie, does the below patch help? I can submit a proper patch if this >> fixes the issue for you. >> >> -- >8 -- >> Subject: [PATCH] arm64/numa: Enable memoryless numa nodes >> >> Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxx> >> --- >> arch/arm64/Kconfig | 4 ++++ >> arch/arm64/mm/numa.c | 2 ++ >> 2 files changed, 6 insertions(+) >> >> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig >> index eb2cf4938f6d..5317e9aa93ab 100644 >> --- a/arch/arm64/Kconfig >> +++ b/arch/arm64/Kconfig >> @@ -756,6 +756,10 @@ config USE_PERCPU_NUMA_NODE_ID >> def_bool y >> depends on NUMA >> >> +config HAVE_MEMORYLESS_NODES >> + def_bool y >> + depends on NUMA >> + >> config HAVE_SETUP_PER_CPU_AREA >> def_bool y >> depends on NUMA >> diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c >> index dad128ba98bf..c699dcfe93de 100644 >> --- a/arch/arm64/mm/numa.c >> +++ b/arch/arm64/mm/numa.c >> @@ -73,6 +73,8 @@ EXPORT_SYMBOL(cpumask_of_node); >> static void map_cpu_to_node(unsigned int cpu, int nid) >> { >> set_cpu_numa_node(cpu, nid); >> + set_numa_mem(local_memory_node(nid)); > > Argh, this should be > > set_cpu_numa_mem(cpu, local_memory_node(nid)); > > There is not guarantee that map_cpu_to_node() will be called on the > local cpu. > > Hanjun, Xie - can you try with the update please? Thanks for looking into this, we will try this tomorrow (the hardware is occupied now) and update here. Thanks Hanjun