[bpf-next 6/6] selftests/bpf: Fix arena_spin_lock selftest failure
Alexei Starovoitov
alexei.starovoitov at gmail.com
Fri Aug 8 08:21:42 AEST 2025
On Mon, Aug 4, 2025 at 11:29 PM Saket Kumar Bhaskar <skb99 at linux.ibm.com> wrote:
>
> @@ -60,9 +65,16 @@ static void test_arena_spin_lock_size(int size)
> return;
> }
>
> - skel = arena_spin_lock__open_and_load();
> - if (!ASSERT_OK_PTR(skel, "arena_spin_lock__open_and_load"))
> + skel = arena_spin_lock__open();
> + if (!ASSERT_OK_PTR(skel, "arena_spin_lock__open"))
> return;
> +
> + skel->rodata->nr_cpus = get_nprocs();
...
> --- a/tools/testing/selftests/bpf/progs/bpf_arena_spin_lock.h
> +++ b/tools/testing/selftests/bpf/progs/bpf_arena_spin_lock.h
> @@ -20,8 +20,6 @@
> #define __arena __attribute__((address_space(1)))
> #endif
>
> -extern unsigned long CONFIG_NR_CPUS __kconfig;
> -
> /*
> * Typically, we'd just rely on the definition in vmlinux.h for qspinlock, but
> * PowerPC overrides the definition to define lock->val as u32 instead of
> @@ -494,7 +492,7 @@ static __always_inline int arena_spin_lock(arena_spinlock_t __arena *lock)
> {
> int val = 0;
>
> - if (CONFIG_NR_CPUS > 1024)
> + if (nr_cpus > 1024)
> return -EOPNOTSUPP;
We cannot do this. It will make arena_spin_lock much harder to use.
BPF CI doesn't run on powerpc anyway, but you can document that this
test is disable by creating selftests/bpf/DENYLIST.powerpc.
More information about the Linuxppc-dev
mailing list