mbox series

[v3,bpf-next,0/6] bpf: volatile compare

Message ID 20231226191148.48536-1-alexei.starovoitov@gmail.com (mailing list archive)
Headers show
Series bpf: volatile compare | expand

Message

Alexei Starovoitov Dec. 26, 2023, 7:11 p.m. UTC
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(-)

Comments

patchwork-bot+netdevbpf@kernel.org Jan. 3, 2024, 7:30 p.m. UTC | #1
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!