Messages in this thread | | | From | Geert Uytterhoeven <> | Date | Thu, 16 Jun 2016 12:08:27 +0200 | Subject | Re: [PATCH -v2 14/33] locking,m68k: Implement atomic_fetch_{add,sub,and,or,xor}() |
| |
Hi Peter,
On Tue, May 31, 2016 at 12:19 PM, Peter Zijlstra <peterz@infradead.org> wrote: > Implement FETCH-OP atomic primitives, these are very similar to the > existing OP-RETURN primitives we already have, except they return the > value of the atomic variable _before_ modification. > > This is especially useful for irreversible operations -- such as > bitops (because it becomes impossible to reconstruct the state prior > to modification). > > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> > --- > arch/m68k/include/asm/atomic.h | 53 +++++++++++++++++++++++++++++++++++++---- > 1 file changed, 49 insertions(+), 4 deletions(-) > > --- a/arch/m68k/include/asm/atomic.h > +++ b/arch/m68k/include/asm/atomic.h > @@ -38,6 +38,13 @@ static inline void atomic_##op(int i, at > > #ifdef CONFIG_RMW_INSNS > > +/* > + * Am I reading these CAS loops right in that %2 is the old value and the first > + * iteration uses an uninitialized value? > + * > + * Would it not make sense to add: tmp = atomic_read(v); to avoid this? > + */ > + > #define ATOMIC_OP_RETURN(op, c_op, asm_op) \ > static inline int atomic_##op##_return(int i, atomic_t *v) \ > { \
Do we want the above comment in the code?
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
| |