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



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/
maintainer of:
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: [RFC][PATCH 2/3] Convert !GENERIC_TIME arches to use arch_getoffset() infrastructure.
    ... I have split out patches for each arch, ... I do not have cross compilers for these architectures, ... (like arm, and sh) ...
    (Linux-Kernel)
  • [RFC 00/21] Generic show_mem()
    ... Every arch implements its own show_memfunction. ... migrates almost all architectures to use it. ... Also, this series leaves ia64, arm, and sparc as is. ... Tony, as far as I understand, ia64 jumps holes in the memory map with ...
    (Linux-Kernel)
  • [RFC 00/21] Generic show_mem()
    ... Every arch implements its own show_memfunction. ... migrates almost all architectures to use it. ... Also, this series leaves ia64, arm, and sparc as is. ... Tony, as far as I understand, ia64 jumps holes in the memory map with ...
    (Linux-Kernel)
  • Re: [patch 2/3] mutex subsystem: fastpath inlining
    ... >> Some architectures, notably ARM for instance, might benefit from ... So our starting point for comparison is 9 instructions for every down ... downand every upsimply going with mutexes. ... cycles since a function prologue and epilogue is somewhat costly on ARM, ...
    (Linux-Kernel)
  • Re: Fwd: Re: [2.6.24 patch] restore ARMv6 OProfile support
    ... generic kernel/Kconfig.instrumentation file into the arm directory, ... So it allows the sharing of the common case and *many* architectures end ... it goes along the lines of the patch I suggested as a reply to ... It puts the config options in arch/arm/Kconfig. ...
    (Linux-Kernel)