bpf: Refill only one percpu element in memalloc
authorYonghong Song <yonghong.song@linux.dev>
Fri, 22 Dec 2023 03:17:50 +0000 (19:17 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 4 Jan 2024 05:08:25 +0000 (21:08 -0800)
commit5b95e638f134e552b5ba2976326c02babe248615
treeea6a83156f646dd70e550b31b67c441f008da0a6
parentc39aa3b289e9c10d0d246cd919b06809f13b72b8
bpf: Refill only one percpu element in memalloc

Typically for percpu map element or data structure, once allocated,
most operations are lookup or in-place update. Deletion are really
rare. Currently, for percpu data strcture, 4 elements will be
refilled if the size is <= 256. Let us just do with one element
for percpu data. For example, for size 256 and 128 cpus, the
potential saving will be 3 * 256 * 128 * 128 = 12MB.

Acked-by: Hou Tao <houtao1@huawei.com>
Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/r/20231222031750.1289290-1-yonghong.song@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/bpf/memalloc.c