Commit 82b44496 authored by Michael S. Tsirkin's avatar Michael S. Tsirkin

s390: define __smp_xxx

This defines __smp_xxx barriers for s390,
for use by virtualization.

Some smp_xxx barriers are removed as they are
defined correctly by asm-generic/barriers.h

Note: smp_mb, smp_rmb and smp_wmb are defined as full barriers
unconditionally on this architecture.
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Acked-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
parent a60514ba
...@@ -26,18 +26,21 @@ ...@@ -26,18 +26,21 @@
#define wmb() barrier() #define wmb() barrier()
#define dma_rmb() mb() #define dma_rmb() mb()
#define dma_wmb() mb() #define dma_wmb() mb()
#define smp_mb() mb() #define __smp_mb() mb()
#define smp_rmb() rmb() #define __smp_rmb() rmb()
#define smp_wmb() wmb() #define __smp_wmb() wmb()
#define smp_mb() __smp_mb()
#define smp_store_release(p, v) \ #define smp_rmb() __smp_rmb()
#define smp_wmb() __smp_wmb()
#define __smp_store_release(p, v) \
do { \ do { \
compiletime_assert_atomic_type(*p); \ compiletime_assert_atomic_type(*p); \
barrier(); \ barrier(); \
WRITE_ONCE(*p, v); \ WRITE_ONCE(*p, v); \
} while (0) } while (0)
#define smp_load_acquire(p) \ #define __smp_load_acquire(p) \
({ \ ({ \
typeof(*p) ___p1 = READ_ONCE(*p); \ typeof(*p) ___p1 = READ_ONCE(*p); \
compiletime_assert_atomic_type(*p); \ compiletime_assert_atomic_type(*p); \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment