path: root/arch/alpha/include/asm
diff options
authorPeter Zijlstra <>2015-09-18 11:13:10 +0200
committerIngo Molnar <>2015-09-23 09:54:28 +0200
commit62e8a3258bda118f24ff462fe04cfbe75b8189b5 (patch)
tree79edd4b96f8c3495435be8b148127d5738d1db63 /arch/alpha/include/asm
parent90fe65148ea76988d8d5acbf3e578aa74129a490 (diff)
atomic, arch: Audit atomic_{read,set}()
This patch makes sure that atomic_{read,set}() are at least {READ,WRITE}_ONCE(). We already had the 'requirement' that atomic_read() should use ACCESS_ONCE(), and most archs had this, but a few were lacking. All are now converted to use READ_ONCE(). And, by a symmetry and general paranoia argument, upgrade atomic_set() to use WRITE_ONCE(). Signed-off-by: Peter Zijlstra (Intel) <> Cc: Andrew Morton <> Cc: Dmitry Vyukov <> Cc: Linus Torvalds <> Cc: Paul E. McKenney <> Cc: Peter Zijlstra <> Cc: Thomas Gleixner <> Cc: Cc: Cc: Cc: Signed-off-by: Ingo Molnar <>
Diffstat (limited to 'arch/alpha/include/asm')
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/alpha/include/asm/atomic.h b/arch/alpha/include/asm/atomic.h
index e8c956098424..572b228c44c7 100644
--- a/arch/alpha/include/asm/atomic.h
+++ b/arch/alpha/include/asm/atomic.h
@@ -17,11 +17,11 @@
#define ATOMIC_INIT(i) { (i) }
#define ATOMIC64_INIT(i) { (i) }
-#define atomic_read(v) ACCESS_ONCE((v)->counter)
-#define atomic64_read(v) ACCESS_ONCE((v)->counter)
+#define atomic_read(v) READ_ONCE((v)->counter)
+#define atomic64_read(v) READ_ONCE((v)->counter)
-#define atomic_set(v,i) ((v)->counter = (i))
-#define atomic64_set(v,i) ((v)->counter = (i))
+#define atomic_set(v,i) WRITE_ONCE((v)->counter, (i))
+#define atomic64_set(v,i) WRITE_ONCE((v)->counter, (i))
* To get proper branch prediction for the main line, we must branch