Re: [PATCH RESEND v7 4/6] arm64: futex: refactor futex atomic operation

Catalin Marinas
2025-09-12T17:01:35Z

On Fri, Sep 12, 2025 at 05:44:15PM +0100, Catalin Marinas wrote:
> On Sat, Aug 16, 2025 at 04:19:27PM +0100, Yeoreum Yun wrote:
> > +#define FUTEX_ATOMIC_OP(op) \
> > +static __always_inline int \
> > +__futex_atomic_##op(int oparg, u32 __user *uaddr, int *oval) \
> > +{ \
> > + return __llsc_futex_atomic_##op(oparg, uaddr, oval); \
> > +}
> > +
> > +FUTEX_ATOMIC_OP(add)
> > +FUTEX_ATOMIC_OP(or)
> > +FUTEX_ATOMIC_OP(and)
> > +FUTEX_ATOMIC_OP(eor)
> > +FUTEX_ATOMIC_OP(set)
> > +
> > +static __always_inline int
> > +__futex_cmpxchg(u32 __user *uaddr, u32 oldval, u32 newval, u32 *oval)
> > +{
> > + return __llsc_futex_cmpxchg(uaddr, oldval, newval, oval);
> > +}
>
> The patch looks fine and my impression that the __futex_* functions will
> be used in patch 6 to dispatch between lsui and llsc. But you got them
> the other way around. I'll comment there.

Ah, ignore me, I misread patch 6. It looks good.

> For this patch:
>
> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>