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.