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

Peter Zijlstra
2015-07-14T11:38:06Z

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.