RE: [PATCH] bpf: Avoid allocing memory on memoryless numa node
flat view
From: Tianxianting <hidden>
Date: 2020-10-12 01:26:56
Also in:
bpf, lkml
Thanks Alexei for your suggestion, I will try to do it. -----Original Message----- From: Alexei Starovoitov [mailto:<redacted>] Sent: Monday, October 12, 2020 9:21 AM To: tianxianting (RD) <redacted> Cc: Alexei Starovoitov <ast@kernel.org>; Daniel Borkmann <daniel@iogearbox.net>; David S. Miller <davem@davemloft.net>; Jakub Kicinski <kuba@kernel.org>; Jesper Dangaard Brouer <hawk@kernel.org>; John Fastabend <john.fastabend@gmail.com>; Martin KaFai Lau <redacted>; Song Liu <redacted>; Yonghong Song <redacted>; Andrii Nakryiko <redacted>; KP Singh <redacted>; Network Development <redacted>; bpf <redacted>; LKML <redacted> Subject: Re: [PATCH] bpf: Avoid allocing memory on memoryless numa node On Sat, Oct 10, 2020 at 1:55 AM Xianting Tian [off-list ref] wrote:
In architecture like powerpc, we can have cpus without any local memory attached to it. In such cases the node does not have real memory. Use local_memory_node(), which is guaranteed to have memory. local_memory_node is a noop in other architectures that does not support memoryless nodes.
...
quoted hunk ↗ jump to hunk
/* Have map->numa_node, but choose node of redirect target CPU */ - numa = cpu_to_node(cpu); + numa = local_memory_node(cpu_to_node(cpu));
There are so many calls to cpu_to_node() throughout the kernel. Are you going to convert all of them one patch at a time to the above sequence? Why not do this CONFIG_HAVE_MEMORYLESS_NODES in cpu_to_node() instead? and save the churn.