[patch] powerpc: smp_wmb lwsync optimisation fix

Nick Piggin npiggin at suse.de
Sun Nov 2 12:42:21 EST 2008


On Sat, Nov 01, 2008 at 11:47:58AM -0500, Kumar Gala wrote:
> 
> On Nov 1, 2008, at 7:33 AM, Nick Piggin wrote:
> 
> >A previous change removed __SUBARCH_HAS_LWSYNC define, and replaced it
> >with __powerpc64__. smp_wmb() seems to be the last place not updated.
> 
> Uugh... no.. I missed the patch that removed __SUBARCH_HAS_LWSYNC, but  
> thats no good.  We have LWSYNC on non-powerpc64 machines.  Will go  
> figure out who forgets we have ppc32 machines :)

I think it may have been you :)

But actually, SMPWMB would need more massaging before it is suitable,
by the looks of your LWSYNC define in synch.h.

I don't mind, so much, about how this gets fixed. But it would be
nice to fix it somehow. After the smp_rmb and smp_wmb patches, there
are practically no sync instructions left in mm/ :)

> 
> - k
> 
> >
> >
> >Signed-off-by: Nick Piggin <npiggin at suse.de>
> >---
> >Index: linux-2.6/arch/powerpc/include/asm/system.h
> >===================================================================
> >--- linux-2.6.orig/arch/powerpc/include/asm/system.h	2008-11-01  
> >20:31:51.000000000 +1100
> >+++ linux-2.6/arch/powerpc/include/asm/system.h	2008-11-01  
> >20:32:33.000000000 +1100
> >@@ -44,7 +44,7 @@
> >#define AT_VECTOR_SIZE_ARCH 6 /* entries in ARCH_DLINFO */
> >#ifdef CONFIG_SMP
> >
> >-#ifdef __SUBARCH_HAS_LWSYNC
> >+#if defined(__powerpc64__)
> >#    define SMPWMB      lwsync
> >#else
> >#    define SMPWMB      eieio
> >_______________________________________________
> >Linuxppc-dev mailing list
> >Linuxppc-dev at ozlabs.org
> >https://ozlabs.org/mailman/listinfo/linuxppc-dev



More information about the Linuxppc-dev mailing list