Re: blackfin - cmpxchg not atomic ?

From: Mike Frysinger
Date: Fri Jul 20 2007 - 16:36:25 EST


On 7/20/07, Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx> wrote:
I am currently passing through each architectures adding a
cmpxchg_local() to each system.h, and I notice that you disable
interrupts in your cmpxchg() implementation, why are you doing so ?

because Blackfin lacks any atomic instructions

Also, does you assembly stub _really_ modify memory atomically ? If yes,
then there should be no need for disabling interrupts. Else, I see a
major problem with SMP.

that isnt the only problem with SMP on Blackfin

I also don't like the comment in asm-blackfin/atomic.h :

* Generally we do not concern about SMP BFIN systems, so we don't have
* to deal with that.

I have seen on the blackfin website that you actually sell a board with
SMP. Why aren't you caring about it ?

just because a processor has more than one core does not make it SMP
-mike
-
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/