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

Christoph Lameter
2006-12-08T17:06:49Z

On Fri, 8 Dec 2006, David Howells wrote:

> > It is the most universal atomic instruction that I know of.
>
> I think TAS-type things and XCHG-type things are more common.

Huh? The most popular architectures are i386 x86_64 sparc ia64 etc which
all have one or the other form of cmpxchg (some issues with early sparc
and i386).

And yes the xchg was the first multiprocessor instruction and therefore
is also available on very old processors.

> In fact I think more things have LL/SC than have CMPXCHG.

LL/SC can be easily used to come up with a cmpxchg equivalent.