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

Russell King
2006-12-08T16:59:21Z

On Fri, Dec 08, 2006 at 08:53:22AM -0800, Christoph Lameter wrote:
> On Fri, 8 Dec 2006, Russell King wrote:
>
> > > Not having cmpxchg is even worse because it requires the introduction and
> > > maintenance of large sets of arch specific operations. Much more complex.
> >
> > And which bit of "not available on many architectures" have you not grasped
> > yet?
>
> We discussed various forms of emulating that functionality on this thread.
> Seems to work satisfactorily. You can discover the information you skipped
> by going back to some earlier messages of this thread.

Oh for god sake. I've put forward a coherent argument. I've disproved
every point put forward by people for my approach.

ARM continues to be broken because people like you are stuck with doing
things only one way. Grow up and open your mind to other possibilities.

(It should be noted that LDREX/STREX is broken on some ARM implementations
at the moment - they will cause a livelock due to silicon bugs if both
CPUs have exactly the same number of cycles between LDREX and STREX.
This makes loops-within-loops implementations using cmpxchg _extremely_
expensive on ARM.)

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/