Hi, On 11/15/2023 11:31 PM, Heiko Carstens wrote: > On Sun, Aug 27, 2023 at 08:27:34AM -0700, Yonghong Song wrote: >> This is needed for later percpu mem allocation when the >> allocation is done by bpf program. For such cases, a global >> bpf_global_percpu_ma is added where a flexible allocation >> size is needed. >> >> Signed-off-by: Yonghong Song <yonghong.song@xxxxxxxxx> >> --- >> include/linux/bpf.h | 4 ++-- >> kernel/bpf/core.c | 8 +++++--- >> kernel/bpf/memalloc.c | 14 ++++++-------- >> 3 files changed, 13 insertions(+), 13 deletions(-) > Both Marc and Mikhail reported out-of-memory conditions on s390 machines, > and bisected it down to this upstream commit 41a5db8d8161 ("bpf: Add > support for non-fix-size percpu mem allocation"). > This seems to eat up a lot of memory only based on the number of possible > CPUs. > > If we have a machine with 8GB, 6 present CPUs and 512 possible CPUs (yes, > this is a realistic scenario) the memory consumption directly after boot > is: > > $ cat /sys/devices/system/cpu/present > 0-5 > $ cat /sys/devices/system/cpu/possible > 0-511 Will the present CPUs be hot-added dynamically and eventually increase to 512 CPUs ? Or will the present CPUs rarely be hot-added ? After all possible CPUs are online, will these CPUs be hot-plugged dynamically ? Because I am considering add CPU hotplug support for bpf mem allocator, so we can allocate memory according to the present CPUs instead of possible CPUs. But if the present CPUs will be increased to all possible CPUs quickly, there will be not too much benefit to support hotplug in bpf mem allocator.