Re: 2.6.16-rc regression: m68k CONFIG_RMW_INSNS=n compile broken

From: Andrew Morton
Date: Fri Mar 03 2006 - 18:57:51 EST


Linus Torvalds <torvalds@xxxxxxxx> wrote:
>
>
>
> On Sat, 4 Mar 2006, Adrian Bunk wrote:
> >
> > It seems the problem is that in the CONFIG_RMW_INSNS=n case, there's no
> > cmpxchg #define in include/asm-m68k/system.h required for the
> > atomic_add_unless #define in include/asm-m68k/atomic.h.
>
> Hmm. It seems like it never has been there.. Do you know what brought this
> on? Was it Nick's RCU changes from "rcuref_dec_and_test()" to
> "atomic_dec_and_test()" and friends?
>
> Judging by your error messages, I _think_ it's the "atomic_inc_not_zero()"
> that gets expanded to a cmpxchg() that simply doesn't exist on m68k and
> never has.
>
> I guess we've never depended on cmpxchg before. Or am I missing something?
>

Yes, we now require cmpxchg of all architectures.

It's pretty simple to fix - just use local_irq_save(). We can steal the code
from include/asm-m68knommu/system.h.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/