Re: [PATCH 1/5] atomics: add acquire/release/relaxed variants of some atomic operations

Will Deacon
2015-07-14T15:55:06Z

On Tue, Jul 14, 2015 at 12:38:01PM +0100, Peter Zijlstra wrote:
> On Tue, Jul 14, 2015 at 12:31:47PM +0100, Will Deacon wrote:
> > #ifndef atomic_add
> > #define atomic_add(args...) (void)atomic_add_return_relaxed(args);
> >
> > It would mean a new architecture only has to define a barrier instruction
> > and a handful of relaxed atomics for a bare-minimum atomic.h avoiding
> > spinlocks.
>
> Look at include/asm-generic/atomic.h, all you need is a cmpxchg().
>
> We could easily change that to be cmpxchg_relaxed() and a few barriers.

Ok, I'll leave that part for now and implement your original suggestion
as a starting point.

Will