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

Christoph Lameter
2006-12-08T16:07:03Z

On Fri, 8 Dec 2006, Russell King wrote:

> I'm trying to suggest a better implementation for atomic ops rather
> than just bowing to this x86-centric "cmpxchg is the best, everyone
> must implement it" mentality.

cmpxchg is the simplest solution to realize many other atomic operations
and its widely available on a wide variety of platforms. It is the most
universal atomic instruction that I know of. Other atomic operations may
be more efficient but certainly cmpxchg is the most universal.

Having multiple instructions with restrictions of what can be done in
between just complicates the use and seems to be arch specific. I have not
seen a better solution. Are you really advocating the weirdly complex
ll/sc be adopted by other architectures?