[PATCH RESEND v7 4/6] arm64: futex: refactor futex atomic operation
Catalin Marinas
catalin.marinas at arm.com
Fri Sep 12 09:44:15 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>
More information about the linux-arm-kernel
mailing list