xen: arm: Use dmb for smp barriers
authorIan Campbell <ian.campbell@citrix.com>
Mon, 17 Mar 2014 14:53:27 +0000 (14:53 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Tue, 18 Mar 2014 15:55:27 +0000 (15:55 +0000)
The full power of dsb is not required in this context.

Also change wmb() to be dsb() directly instead of indirectly via mb(), for
clarity.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Tim Deegan <tim@xen.org>
xen/include/asm-arm/system.h

index e0036249393e38ce13151b5d6b1c0e92384477a9..89c61efd7a221f85ce951bb75cee023ab7adc671 100644 (file)
 
 #define mb()            dsb()
 #define rmb()           dsb()
-#define wmb()           mb()
+#define wmb()           dsb()
 
-#define smp_mb()        mb()
-#define smp_rmb()       rmb()
-#define smp_wmb()       wmb()
+#define smp_mb()        dmb()
+#define smp_rmb()       dmb()
+#define smp_wmb()       dmb()
 
 #define xchg(ptr,x) \
         ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))