bpf: Remove unnecessary cpu == 0 check in memalloc
authorYonghong Song <yonghong.song@linux.dev>
Thu, 4 Jan 2024 16:57:44 +0000 (08:57 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 4 Jan 2024 18:18:14 +0000 (10:18 -0800)
After merging the patch set [1] to reduce memory usage
for bpf_global_percpu_ma, Alexei found a redundant check (cpu == 0)
in function bpf_mem_alloc_percpu_unit_init() ([2]).
Indeed, the check is unnecessary since c->unit_size will
be all NULL or all non-NULL for all cpus before
for_each_possible_cpu() loop.
Removing the check makes code less confusing.

  [1] https://lore.kernel.org/all/20231222031729.1287957-1-yonghong.song@linux.dev/
  [2] https://lore.kernel.org/all/20231222031745.1289082-1-yonghong.song@linux.dev/

Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/r/20240104165744.702239-1-yonghong.song@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/bpf/memalloc.c

index 460c8f3..550f02e 100644 (file)
@@ -613,7 +613,7 @@ int bpf_mem_alloc_percpu_unit_init(struct bpf_mem_alloc *ma, int size)
        for_each_possible_cpu(cpu) {
                cc = per_cpu_ptr(pcc, cpu);
                c = &cc->cache[i];
-               if (cpu == 0 && c->unit_size)
+               if (c->unit_size)
                        break;
 
                c->unit_size = unit_size;