[PATCH RESEND v7 4/6] arm64: futex: refactor futex atomic operation
Yeoreum Yun
yeoreum.yun at arm.com
Mon Sep 15 03:32:39 PDT 2025
Hi Catalin,
> On Sat, Aug 16, 2025 at 04:19:27PM +0100, Yeoreum Yun wrote:
> > diff --git a/arch/arm64/include/asm/futex.h b/arch/arm64/include/asm/futex.h
> > index bc06691d2062..ab7003cb4724 100644
> > --- a/arch/arm64/include/asm/futex.h
> > +++ b/arch/arm64/include/asm/futex.h
> > @@ -7,17 +7,21 @@
> >
> > #include <linux/futex.h>
> > #include <linux/uaccess.h>
> > +#include <linux/stringify.h>
> >
> > #include <asm/errno.h>
> >
> > -#define FUTEX_MAX_LOOPS 128 /* What's the largest number you can think of? */
> > +#define LLSC_MAX_LOOPS 128 /* What's the largest number you can think of? */
>
> I just noticed - you might as well leave the name as is here, especially
> if in patch 6 you align down address and use CAS on a 64-bit value as
> per Will's comment (and it's no longer LLSC). I think renaming this is
> unnecessary.
Okay. I'll restore to use origin name.
But I think LSUI wouldn't be used with CAS according to patch 6's
comments from you and additionally i think
chaning the CAS would make a failure because of
change of unrelated field. i.e)
struct user_structure{
uint32 futex;
uint32 some_value;
};
In this case, the change of some_value from user side could make a
failure of futex atomic operation.
So I think it would be better to keep the current LLSC implementation
in LSUI.
Thanks.
--
Sincerely,
Yeoreum Yun
More information about the linux-arm-kernel
mailing list