The WRITE_ONCE macro is identically defined both in bpf_atomic.h and in bpf_arena_common.h. Deduplicate the definitions by moving the macro to the commonly used bpf_experimental.h header. Signed-off-by: Emil Tsalapatis --- tools/testing/selftests/bpf/bpf_arena_common.h | 4 ---- tools/testing/selftests/bpf/bpf_atomic.h | 4 ---- tools/testing/selftests/bpf/bpf_experimental.h | 3 +++ 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/tools/testing/selftests/bpf/bpf_arena_common.h b/tools/testing/selftests/bpf/bpf_arena_common.h index 16f8ce832004..a0503ecbc315 100644 --- a/tools/testing/selftests/bpf/bpf_arena_common.h +++ b/tools/testing/selftests/bpf/bpf_arena_common.h @@ -2,10 +2,6 @@ /* Copyright (c) 2024 Meta Platforms, Inc. and affiliates. */ #pragma once -#ifndef WRITE_ONCE -#define WRITE_ONCE(x, val) ((*(volatile typeof(x) *) &(x)) = (val)) -#endif - #ifndef NUMA_NO_NODE #define NUMA_NO_NODE (-1) #endif diff --git a/tools/testing/selftests/bpf/bpf_atomic.h b/tools/testing/selftests/bpf/bpf_atomic.h index c550e5711967..d77338ac7e6b 100644 --- a/tools/testing/selftests/bpf/bpf_atomic.h +++ b/tools/testing/selftests/bpf/bpf_atomic.h @@ -40,10 +40,6 @@ extern bool CONFIG_X86_64 __kconfig __weak; /* No-op for BPF */ #define cpu_relax() ({}) -#define READ_ONCE(x) (*(volatile typeof(x) *)&(x)) - -#define WRITE_ONCE(x, val) ((*(volatile typeof(x) *)&(x)) = (val)) - #define cmpxchg(p, old, new) __sync_val_compare_and_swap((p), old, new) #define try_cmpxchg(p, pold, new) \ diff --git a/tools/testing/selftests/bpf/bpf_experimental.h b/tools/testing/selftests/bpf/bpf_experimental.h index 2234bd6bc9d3..56214f7051c6 100644 --- a/tools/testing/selftests/bpf/bpf_experimental.h +++ b/tools/testing/selftests/bpf/bpf_experimental.h @@ -11,6 +11,9 @@ /* Convenience macro to wrap over bpf_obj_new */ #define bpf_obj_new(type) ((type *)bpf_obj_new(bpf_core_type_id_local(type))) +#define READ_ONCE(x) (*(volatile typeof(x) *)&(x)) +#define WRITE_ONCE(x, val) ((*(volatile typeof(x) *)&(x)) = (val)) + /* Convenience macro to wrap over bpf_percpu_obj_new */ #define bpf_percpu_obj_new(type) ((type __percpu_kptr *)bpf_percpu_obj_new(bpf_core_type_id_local(type))) -- 2.53.0