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

David Howells
2006-12-08T16:57:36Z

Christoph Lameter <clameter@sgi.com> wrote:

> cmpxchg is the simplest solution to realize many other atomic operations and
> its widely available on a wide variety of platforms.

But by no means all. Where it doesn't exist it can only be properly emulated
by something such as LL/SC if they are there. If not, then you can't do a
safe cmpxchg on SMP.

> It is the most universal atomic instruction that I know of.

I think TAS-type things and XCHG-type things are more common.

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

David