From 11b5e37c4bf7475e6c15b43aa657bbdaae5bb593 Mon Sep 17 00:00:00 2001 From: Caleb Sander Mateos Date: Thu, 17 Jul 2025 11:58:05 -0600 Subject: [PATCH] arch: add atomic_store_relaxed() Add a relaxed-ordering atomic store helper, analogous to atomic_store_release() and atomic_load_relaxed(). Signed-off-by: Caleb Sander Mateos --- arch/arch.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arch.h b/arch/arch.h index 7e294ddf..437736f8 100644 --- a/arch/arch.h +++ b/arch/arch.h @@ -53,6 +53,8 @@ extern unsigned long arch_flags; #define atomic_load_acquire(p) \ std::atomic_load_explicit(p, \ std::memory_order_acquire) +#define atomic_store_relaxed(p, v) \ + std::atomic_store_explicit((p), (v), std::memory_order_relaxed) #define atomic_store_release(p, v) \ std::atomic_store_explicit(p, (v), \ std::memory_order_release) @@ -67,6 +69,9 @@ extern unsigned long arch_flags; #define atomic_load_acquire(p) \ atomic_load_explicit((_Atomic typeof(*(p)) *)(p), \ memory_order_acquire) +#define atomic_store_relaxed(p, v) \ + atomic_store_explicit((_Atomic typeof(*(p)) *)(p), (v), \ + memory_order_relaxed) #define atomic_store_release(p, v) \ atomic_store_explicit((_Atomic typeof(*(p)) *)(p), (v), \ memory_order_release) -- 2.25.1