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/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]