aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/system.h
diff options
context:
space:
mode:
authorNick Piggin <npiggin@suse.de>2008-11-11 12:50:48 -0500
committerPaul Mackerras <paulus@samba.org>2008-11-19 00:04:55 -0500
commit46d075be585eae2b74265e4e64ca38dde16a09c6 (patch)
treed12904aeb09e4f07cf07e6f8b0a9831c953f5d78 /arch/powerpc/include/asm/system.h
parenta4e22f02f5b6518c1484faea1f88d81802b9feac (diff)
powerpc: Optimise smp_wmb
Change 2d1b2027626d5151fff8ef7c06ca8e7876a1a510 ("powerpc: Fixup lwsync at runtime") removed __SUBARCH_HAS_LWSYNC, causing smp_wmb to revert back to eieio for all CPUs. This restores the behaviour intorduced in 74f0609526afddd88bef40b651da24f3167b10b2 ("powerpc: Optimise smp_wmb on 64-bit processors"). Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/include/asm/system.h')
-rw-r--r--arch/powerpc/include/asm/system.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/system.h b/arch/powerpc/include/asm/system.h
index d6648c143322..917f515bc671 100644
--- a/arch/powerpc/include/asm/system.h
+++ b/arch/powerpc/include/asm/system.h
@@ -45,14 +45,14 @@
45#ifdef CONFIG_SMP 45#ifdef CONFIG_SMP
46 46
47#ifdef __SUBARCH_HAS_LWSYNC 47#ifdef __SUBARCH_HAS_LWSYNC
48# define SMPWMB lwsync 48# define SMPWMB LWSYNC
49#else 49#else
50# define SMPWMB eieio 50# define SMPWMB eieio
51#endif 51#endif
52 52
53#define smp_mb() mb() 53#define smp_mb() mb()
54#define smp_rmb() rmb() 54#define smp_rmb() rmb()
55#define smp_wmb() __asm__ __volatile__ (__stringify(SMPWMB) : : :"memory") 55#define smp_wmb() __asm__ __volatile__ (stringify_in_c(SMPWMB) : : :"memory")
56#define smp_read_barrier_depends() read_barrier_depends() 56#define smp_read_barrier_depends() read_barrier_depends()
57#else 57#else
58#define smp_mb() barrier() 58#define smp_mb() barrier()