diff options
Diffstat (limited to 'kernel/arch/ia64/include/asm/barrier.h')
-rw-r--r-- | kernel/arch/ia64/include/asm/barrier.h | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/kernel/arch/ia64/include/asm/barrier.h b/kernel/arch/ia64/include/asm/barrier.h index f6769eb2b..df896a1c4 100644 --- a/kernel/arch/ia64/include/asm/barrier.h +++ b/kernel/arch/ia64/include/asm/barrier.h @@ -66,23 +66,18 @@ do { \ compiletime_assert_atomic_type(*p); \ barrier(); \ - ACCESS_ONCE(*p) = (v); \ + WRITE_ONCE(*p, v); \ } while (0) #define smp_load_acquire(p) \ ({ \ - typeof(*p) ___p1 = ACCESS_ONCE(*p); \ + typeof(*p) ___p1 = READ_ONCE(*p); \ compiletime_assert_atomic_type(*p); \ barrier(); \ ___p1; \ }) -/* - * XXX check on this ---I suspect what Linus really wants here is - * acquire vs release semantics but we can't discuss this stuff with - * Linus just yet. Grrr... - */ -#define set_mb(var, value) do { (var) = (value); mb(); } while (0) +#define smp_store_mb(var, value) do { WRITE_ONCE(var, value); mb(); } while (0) /* * The group barrier in front of the rsm & ssm are necessary to ensure |