Message ID | 20231226191148.48536-1-alexei.starovoitov@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | bpf: volatile compare | expand |
Hello: This series was applied to bpf/bpf-next.git (master) by Andrii Nakryiko <andrii@kernel.org>: On Tue, 26 Dec 2023 11:11:42 -0800 you wrote: > From: Alexei Starovoitov <ast@kernel.org> > > v2->v3: > Debugged profiler.c regression. It was caused by basic block layout. > Introduce bpf_cmp_likely() and bpf_cmp_unlikely() macros. > Debugged redundant <<=32, >>=32 with u32 variables. Added cast workaround. > > [...] Here is the summary with links: - [v3,bpf-next,1/6] selftests/bpf: Attempt to build BPF programs with -Wsign-compare https://git.kernel.org/bpf/bpf-next/c/495d2d8133fd - [v3,bpf-next,2/6] bpf: Introduce "volatile compare" macros https://git.kernel.org/bpf/bpf-next/c/a8b242d77bd7 - [v3,bpf-next,3/6] selftests/bpf: Convert exceptions_assert.c to bpf_cmp https://git.kernel.org/bpf/bpf-next/c/624cd2a17672 - [v3,bpf-next,4/6] selftests/bpf: Remove bpf_assert_eq-like macros. https://git.kernel.org/bpf/bpf-next/c/907dbd3ede5f - [v3,bpf-next,5/6] bpf: Add bpf_nop_mov() asm macro. https://git.kernel.org/bpf/bpf-next/c/0bcc62aa9813 - [v3,bpf-next,6/6] selftests/bpf: Convert profiler.c to bpf_cmp. https://git.kernel.org/bpf/bpf-next/c/7e3811cb998f You are awesome, thank you!
From: Alexei Starovoitov <ast@kernel.org> v2->v3: Debugged profiler.c regression. It was caused by basic block layout. Introduce bpf_cmp_likely() and bpf_cmp_unlikely() macros. Debugged redundant <<=32, >>=32 with u32 variables. Added cast workaround. v1->v2: Fixed issues pointed out by Daniel, added more tests, attempted to convert profiler.c, but barrier_var() wins vs bpf_cmp(). To be investigated. Patches 1-4 are good to go, but 5 needs more work. Alexei Starovoitov (6): selftests/bpf: Attempt to build BPF programs with -Wsign-compare bpf: Introduce "volatile compare" macros selftests/bpf: Convert exceptions_assert.c to bpf_cmp selftests/bpf: Remove bpf_assert_eq-like macros. bpf: Add bpf_nop_mov() asm macro. selftests/bpf: Convert profiler.c to bpf_cmp. tools/testing/selftests/bpf/Makefile | 1 + .../testing/selftests/bpf/bpf_experimental.h | 224 ++++++------------ .../bpf/progs/bpf_iter_bpf_percpu_hash_map.c | 2 +- .../selftests/bpf/progs/bpf_iter_task_vmas.c | 2 +- .../selftests/bpf/progs/bpf_iter_tasks.c | 2 +- .../selftests/bpf/progs/bpf_iter_test_kern4.c | 2 +- .../progs/cgroup_getset_retval_setsockopt.c | 2 +- .../selftests/bpf/progs/cgrp_ls_sleepable.c | 2 +- .../selftests/bpf/progs/cpumask_success.c | 2 +- .../testing/selftests/bpf/progs/exceptions.c | 20 +- .../selftests/bpf/progs/exceptions_assert.c | 80 +++---- tools/testing/selftests/bpf/progs/iters.c | 4 +- .../selftests/bpf/progs/iters_task_vma.c | 3 +- .../selftests/bpf/progs/linked_funcs1.c | 2 +- .../selftests/bpf/progs/linked_funcs2.c | 2 +- .../testing/selftests/bpf/progs/linked_list.c | 2 +- .../selftests/bpf/progs/local_storage.c | 2 +- tools/testing/selftests/bpf/progs/lsm.c | 2 +- .../selftests/bpf/progs/normal_map_btf.c | 2 +- .../selftests/bpf/progs/profiler.inc.h | 68 ++---- .../selftests/bpf/progs/sockopt_inherit.c | 2 +- .../selftests/bpf/progs/sockopt_multi.c | 2 +- .../selftests/bpf/progs/sockopt_qos_to_cc.c | 2 +- .../testing/selftests/bpf/progs/test_bpf_ma.c | 2 +- .../bpf/progs/test_core_reloc_kernel.c | 2 +- .../bpf/progs/test_core_reloc_module.c | 8 +- .../selftests/bpf/progs/test_fsverity.c | 2 +- .../bpf/progs/test_skc_to_unix_sock.c | 2 +- .../bpf/progs/test_xdp_do_redirect.c | 2 +- 29 files changed, 173 insertions(+), 277 deletions(-)