bpf: Further refactor alloc_bulk().
authorAlexei Starovoitov <ast@kernel.org>
Thu, 6 Jul 2023 03:34:39 +0000 (20:34 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Wed, 12 Jul 2023 21:45:22 +0000 (23:45 +0200)
commit7468048237b8a99c03e1325b11373f9b29ef4139
treeb47ea7177bd81bfff6e005f1879615b7fa92f617
parent18e027b1c7c6dd858b36305468251a5e4a6bcdf7
bpf: Further refactor alloc_bulk().

In certain scenarios alloc_bulk() might be taking free objects mainly from
free_by_rcu_ttrace list. In such case get_memcg() and set_active_memcg() are
redundant, but they show up in perf profile. Split the loop and only set memcg
when allocating from slab. No performance difference in this patch alone, but
it helps in combination with further patches.

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Hou Tao <houtao1@huawei.com>
Link: https://lore.kernel.org/bpf/20230706033447.54696-7-alexei.starovoitov@gmail.com
kernel/bpf/memalloc.c