[PATCH RESEND v7 4/6] arm64: futex: refactor futex atomic operation
Yeoreum Yun
yeoreum.yun at arm.com
Mon Sep 15 03:39:22 PDT 2025
> 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. For this patch:
>
> Reviewed-by: Catalin Marinas <catalin.marinas at arm.com>
Thanks!
--
Sincerely,
Yeoreum Yun
More information about the linux-arm-kernel
mailing list