]> git.ipfire.org Git - thirdparty/linux.git/commit
selftests/bpf: make BPF_TARGET_ENDIAN non-recursive to speed up *.bpf.o build
authorEduard Zingerman <eddyz87@gmail.com>
Fri, 13 Dec 2024 00:32:24 +0000 (16:32 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 13 Dec 2024 06:03:38 +0000 (22:03 -0800)
commit5506b7d7bbdb7622959d80a4a2fc18985a01d512
tree7e8643ffc2a2d0b79836d430f1c5e666538b5836
parentf4f25b689b0da1c009028ed45ad1700c2cc8560a
selftests/bpf: make BPF_TARGET_ENDIAN non-recursive to speed up *.bpf.o build

BPF_TARGET_ENDIAN is used in CLANG_BPF_BUILD_RULE and co macros.
It is defined as a recursively expanded variable, meaning that it is
recomputed each time the value is needed. Thus, it is recomputed for
each *.bpf.o file compilation. The variable is computed by running a C
compiler in a shell. This significantly hinders parallel build
performance for *.bpf.o files.

This commit changes BPF_TARGET_ENDIAN to be a simply expanded
variable.

    # Build performance stats before this commit
    $ git clean -xfd; time make -j12
    real 1m0.000s
    ...

    # Build performance stats after this commit
    $ git clean -xfd; time make -j12
    real 0m43.605s
    ...

Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Acked-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/r/20241213003224.837030-1-eddyz87@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/Makefile