On Sat, 08 Sep 2007 18:42:10 +0200 Benjamin Herrenschmidt <[EMAIL PROTECTED]> wrote:
> > > > If so, the finger points at this: > > > > > > static __inline__ void __clear_bit_unlock(int nr, volatile unsigned long > > > *addr) { > > > __asm__ __volatile__(LWSYNC_ON_SMP ::: "memory"); > > > __clear_bit(nr, addr); > > > } > > > > > > which was added by Nick's powerpc-lock-bitops.patch. I am suspecting that > > > this isn't pp32 code? > > > > Hmm, when LWSYNC_ON_SMP is a noop, it seems like it should probably > > be an empty string instead of nothing? ("") That should make behaviour > > more consistent I think. > > The wormhole is arch/ppc's hack to get to include/asm-powerpc... > > As for having LWSYNC_ON_SMP be "" ... that might be the best way but I'd > rather not take chances right now and go for the quick fix of making > __clear_bit_unlock() do > > LWSYNC_ON_SMP "" > > instead. > Like this? --- a/include/asm-powerpc/bitops.h~powerpc-lock-bitops-fix +++ a/include/asm-powerpc/bitops.h @@ -226,7 +226,7 @@ static __inline__ void set_bits(unsigned static __inline__ void __clear_bit_unlock(int nr, volatile unsigned long *addr) { - __asm__ __volatile__(LWSYNC_ON_SMP ::: "memory"); + __asm__ __volatile__(LWSYNC_ON_SMP "" ::: "memory"); __clear_bit(nr, addr); } _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/