Re: [PATCH] ARCv2: Implement atomic64 based on LLOCKD/SCONDD instructions

2016-09-08 Thread Vineet Gupta
On 09/08/2016 12:29 PM, Vineet Gupta wrote: > One thing I'm not sure of is the lack of explicit memory clobber in > barrier-less ops e.g. atomic64_add() (BTW same is true for 32-bit > atomic_add() as well). Per commit 398aa66827 ("ARM: 6212/1: atomic ops: > add memory constraints to inline asm ") W

[PATCH] ARCv2: Implement atomic64 based on LLOCKD/SCONDD instructions

2016-09-08 Thread Vineet Gupta
ARCv2 ISA provides 64-bit exclusive load/stores so use them to implement the 64-bit atomics and elide the spinlock based generic 64-bit atomics boot tested with atomic64 self-test (and GOD bless the person who wrote them, I realized my inline assmebly is sloppy as hell) One thing I'm not sure of

Re: [PATCH] atomic64: No need for CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE

2016-09-08 Thread Vineet Gupta
On 09/08/2016 11:19 AM, Peter Zijlstra wrote: > On Thu, Sep 08, 2016 at 09:28:18AM -0700, Vineet Gupta wrote: >> This came to light when implementing native 64-bit atomics for ARCv2. >> >> The atomic64 self-test code uses CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE >> to check whether atomic64_dec_if_

Re: [PATCH] atomic64: No need for CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE

2016-09-08 Thread Peter Zijlstra
On Thu, Sep 08, 2016 at 09:28:18AM -0700, Vineet Gupta wrote: > This came to light when implementing native 64-bit atomics for ARCv2. > > The atomic64 self-test code uses CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE > to check whether atomic64_dec_if_positive() is available. > It seems it was needed w

[PATCH] atomic64: No need for CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE

2016-09-08 Thread Vineet Gupta
This came to light when implementing native 64-bit atomics for ARCv2. The atomic64 self-test code uses CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE to check whether atomic64_dec_if_positive() is available. It seems it was needed when not every arch defined it. However as of current code the Kconfig op