Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it

Christoph Lameter
2006-12-08T17:25:33Z

On Fri, 8 Dec 2006, Russell King wrote:

> As proven previously the reverse is also true. And as shown previously
> the cheaper out of the two for all platforms is the LL/SC based
> implementation, where the architecture specific implementation can
> be _either_ LL/SC based or cmpxchg based depending on what is
> supported in their hardware.

As also shown in this thread: There are restrictions on what you can do
between ll/sc. You would not want to use C code there. ll/sc is an thing
that needs to be restricted to asm code. So this is not a viable proposal
at all. ll/sc is useful to construct various atomic functions but cannot
be directly used in C code. cmpxchg can be effectively realized using
ll/sc.