Re: [PATCH v15 4/8] arm64: futex: refactor futex atomic operation

From: Yeoreum Yun

Date: Thu Mar 12 2026 - 11:01:08 EST


> On Fri, Feb 27, 2026 at 03:17:01PM +0000, Yeoreum Yun wrote:
> > -#define __futex_atomic_op(insn, ret, oldval, uaddr, tmp, oparg) \
> > -do { \
> > +#define LLSC_FUTEX_ATOMIC_OP(op, insn) \
> > +static __always_inline int \
> > +__llsc_futex_atomic_##op(int oparg, u32 __user *uaddr, int *oval) \
> > +{ \
> > unsigned int loops = FUTEX_MAX_LOOPS; \
> > + int ret, oldval, newval; \
> > \
> > uaccess_enable_privileged(); \
> > - asm volatile( \
> > + asm volatile("// __llsc_futex_atomic_" #op "\n" \
> > " prfm pstl1strm, %2\n" \
> > -"1: ldxr %w1, %2\n" \
> > +"1: ldxr %w[oldval], %2\n" \
> > insn "\n" \
> > -"2: stlxr %w0, %w3, %2\n" \
> > +"2: stlxr %w0, %w[newval], %2\n" \
>
> Looking again at this as I originally reviewed the series without the
> positional operands.
>
> Can you not use only named operands instead of mixing them? The same
> comment for all other asm changes in this file.

Okay. I'll change to use name operands only.
Thanks.

--
Sincerely,
Yeoreum Yun