Re: Several tst-robust* tests time out with recent Linux kernel

From: Peter Zijlstra
Date: Tue Nov 14 2023 - 10:40:34 EST


On Tue, Nov 14, 2023 at 04:31:00PM +0100, Peter Zijlstra wrote:
> On Tue, Nov 14, 2023 at 05:46:43PM +0800, Xi Ruoyao wrote:
> > On Tue, 2023-11-14 at 02:33 +0800, Xi Ruoyao wrote:
> > > Hi,
> > >
> > > With Linux 6.7.0-rc1, several tst-robust* tests time out on x86_64:
> > >
> > > FAIL: nptl/tst-robust1
> > > FAIL: nptl/tst-robust3
> > > FAIL: nptl/tst-robust4
> > > FAIL: nptl/tst-robust6
> > > FAIL: nptl/tst-robust7
> > > FAIL: nptl/tst-robust9
> > >
> > > This does not happen with Linux 6.6.0.  Do you have some clue about
> > > it?
> >
> > Bisected to the kernel commit:
> >
> > commit 5694289ce183bc3336407a78c8c722a0b9208f9b (HEAD)
> > Author: peterz@xxxxxxxxxxxxx <peterz@xxxxxxxxxxxxx>
> > Date: Thu Sep 21 12:45:08 2023 +0200
> >
> > futex: Flag conversion
> >
> > Futex has 3 sets of flags:
> >
> > - legacy futex op bits
> > - futex2 flags
> > - internal flags
> >
> > Add a few helpers to convert from the API flags into the internal
> > flags.
> >
> > Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> > Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > Reviewed-by: Andr<C3><A9> Almeida <andrealmeid@xxxxxxxxxx>
> > Link: https://lore.kernel.org/r/20230921105247.722140574@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>
> I can confirm. I'm also going crazy trying to figure out how this
> happens.
>
> The below is sufficient to make it unhappy...
>
> /me most puzzled
>
> ---
> diff --git a/kernel/futex/futex.h b/kernel/futex/futex.h
> index b5379c0e6d6d..1a1f9301251f 100644
> --- a/kernel/futex/futex.h
> +++ b/kernel/futex/futex.h
> @@ -17,7 +17,7 @@
> * restarts.
> */
> #ifdef CONFIG_MMU
> -# define FLAGS_SHARED 0x01
> +# define FLAGS_SHARED 0x10
> #else
> /*
> * NOMMU does not have per process address space. Let the compiler optimize

Just the above seems sufficient.