[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150709180223.GF3644@twins.programming.kicks-ass.net>
Date: Thu, 9 Jul 2015 20:02:23 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org
Cc: rth@...ddle.net, vgupta@...opsys.com, linux@....linux.org.uk,
will.deacon@....com, hskinnemoen@...il.com, realmz6@...il.com,
dhowells@...hat.com, rkuo@...eaurora.org, tony.luck@...el.com,
geert@...ux-m68k.org, james.hogan@...tec.com, ralf@...ux-mips.org,
jejb@...isc-linux.org, benh@...nel.crashing.org,
heiko.carstens@...ibm.com, davem@...emloft.net,
cmetcalf@...hip.com, mingo@...nel.org
Subject: Re: [RFC][PATCH 03/24] arm: Provide atomic_{or,xor,and}
On Thu, Jul 09, 2015 at 07:28:58PM +0200, Peter Zijlstra wrote:
> Implement atomic logic ops -- atomic_{or,xor,and}.
>
> These will replace the atomic_{set,clear}_mask functions that are
> available on some archs.
>
>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org>
> ---
> arch/arm/include/asm/atomic.h | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> --- a/arch/arm/include/asm/atomic.h
> +++ b/arch/arm/include/asm/atomic.h
> @@ -193,6 +193,9 @@ static inline int __atomic_add_unless(at
>
> ATOMIC_OPS(add, +=, add)
> ATOMIC_OPS(sub, -=, sub)
> +ATOMIC_OP(and, &=, and)
> +ATOMIC_OP(or, |=, orr)
> +ATOMIC_OP(xor, ^=, eor)
>
> #undef ATOMIC_OPS
> #undef ATOMIC_OP_RETURN
> @@ -320,6 +323,9 @@ static inline long long atomic64_##op##_
>
> ATOMIC64_OPS(add, adds, adc)
> ATOMIC64_OPS(sub, subs, sbc)
> +ATOMIC64_OP(and, and, and)
> +ATOMIC64_OP(or, or, or)
Hmm, reading through them, this should be:
ATOMIC64_OP(or, orr, orr)
I suppose, not sure why the compiler didn't complain, maybe because
there aren't any users..
> +ATOMIC64_OP(xor, eor, eor)
>
> #undef ATOMIC64_OPS
> #undef ATOMIC64_OP_RETURN
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists