Re: [RFC PATCH 1/4] asm-generic: cmpxchg: implement dummycmpxchg64_relaxed operation

From: Will Deacon
Date: Thu Sep 26 2013 - 11:53:44 EST


On Thu, Sep 26, 2013 at 04:34:04PM +0100, Linus Torvalds wrote:
> On Thu, Sep 26, 2013 at 8:13 AM, Will Deacon <will.deacon@xxxxxxx> wrote:
> >
> > This patch implements a dummy implementation for asm-generic, falling
> > back to the usual cmpxchg64 code.
>
> I don't like the "let's add dummy operations for everybody who doesn't
> care" when it is this specialized.
>
> I'd much rather just add a single
>
> #ifndef cmpxchg64_relaxed
> # define cmpxchg64_relaxed cmpxchg64
> #endif
>
> to the LOCKREF code, and then ARM (and others) can define it as they wish.

Okey doke.

> And *if* anybody else ever realizes that they want this outside of the
> lockref code, let's look at doing that then. Right now I don't know of
> any users, and I'd be leery of people using this willy-nilly, because
> very few people really understand memory ordering.

Agreed, and I really doubt there are many cases where the cmpxchg hazarding
works out nicely so as to obviate the need for memory barriers.

I'll send a revised patch.

Cheers,

Will
--
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/