Re: [RFC][PATCH 03/24] arm: Provide atomic_{or,xor,and}

Russell King - ARM Linux
2015-07-10T10:25:04Z

On Thu, Jul 09, 2015 at 08:02:23PM +0200, Peter Zijlstra wrote:
> On Thu, Jul 09, 2015 at 07:28:58PM +0200, Peter Zijlstra wrote:
> > @@ -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..

Yep, as it creates a static inline function, the code will only get
produced if something uses it, and which point the assembler would have
picked up on the error.

In any case, with that modification, the patch then _looks_ correct to
me for both atomic and atomic64 additions. Not tested myself.

I guess as you're only looking for comments at the moment, there's
little point in acking it just yet.

--
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.