On Mon, May 18, 2026 at 10:16:54AM +0800, Yuwen Chen wrote: > This test item has extremely high requirements for timing and can only > pass the test under specific conditions. The following situations will > lead to test failure:
... > If the child thread is not waiting in the futex_wait function when the > main thread reaches the futex_cmp_requeue function, the test will fail. > > An attempt is made to avoid this problem by checking whether the child > thread is in a sleeping state in the main thread. I'm seeing failures on arm64 (running a system with 4xA53) in -next in this test which bisect to this commit, the commit seems obviously plausible but I didn't actually investigate: # TAP version 13 1..2 # Starting 2 tests from 1 test cases. # RUN global.requeue_single ... # futex_requeue.c:28:requeue_single:Expected res (-1) == 0 (0) # futex_requeue.c:29:requeue_single:waiter failed errno 110: Connection timed out # futex_requeue.c:49:requeue_single:Expected futex_wait_for_thread(&waiter, _metadata) (110) == 0 (0) # futex_requeue.c:50:requeue_single:Wait for thread failed # requeue_single: Test terminated by assertion # FAIL global.requeue_single not ok 1 global.requeue_single # RUN global.requeue_multiple ... # futex_requeue.c:28:requeue_multiple:Expected res (-1) == 0 (0) # futex_requeue.c:29:requeue_multiple:waiter failed errno 110: Connection timed out # futex_requeue.c:28:requeue_multiple:Expected res (-1) == 0 (0) # futex_requeue.c:29:requeue_multiple:waiter failed errno 110: Connection timed out # futex_requeue.c:28:requeue_multiple:Expected res (-1) == 0 (0) # futex_requeue.c:29:requeue_multiple:waiter failed errno 110: Connection timed out # futex_requeue.c:28:requeue_multiple:Expected res (-1) == 0 (0) # futex_requeue.c:29:requeue_multiple:waiter failed errno 110: Connection timed out # futex_requeue.c:28:requeue_multiple:Expected res (-1) == 0 (0) # futex_requeue.c:29:requeue_multiple:waiter failed errno 110: Connection timed out # futex_requeue.c:28:requeue_multiple:Expected res (-1) == 0 (0) # futex_requeue.c:29:requeue_multiple:waiter failed errno 110: Connection timed out # futex_requeue.c:28:requeue_multiple:Expected res (-1) == 0 (0) # futex_requeue.c:29:requeue_multiple:waiter failed errno 110: Connection timed out # futex_requeue.c:28:requeue_multiple:Expected res (-1) == 0 (0) # futex_requeue.c:29:requeue_multiple:waiter failed errno 110: Connection timed out # futex_requeue.c:28:requeue_multiple:Expected res (-1) == 0 (0) # futex_requeue.c:29:requeue_multiple:waiter failed errno 110: Connection timed out # futex_requeue.c:28:requeue_multiple:Expected res (-1) == 0 (0) # futex_requeue.c:29:requeue_multiple:waiter failed errno 110: Connection timed out # futex_requeue.c:76:requeue_multiple:Expected futex_wait_for_thread(&waiter[i], _metadata) (5) == 0 (0) # futex_requeue.c:77:requeue_multiple:Wait for waiter thread 0 failed # requeue_multiple: Test terminated by assertion # FAIL global.requeue_multiple not ok 2 global.requeue_multiple # FAILED: 0 / 2 tests passed. # Totals: pass:0 fail:2 xfail:0 xpass:0 skip:0 error:0 Full log should be at: https://lava.sirena.org.uk/scheduler/job/2954705#L13289 but I'm having a terrible time with AI scrapers right now so perhaps not usefully. # bad: [5c73cd9f0819c1c44e373e3dabb68318b1de1a12] Add linux-next specific files for 20260707 # good: [fc5f2284ad6951ce06d6881ca8cbd6d14d5f5071] Merge branch 'for-linux-next-fixes' of https://gitlab.freedesktop.org/drm/misc/kernel.git git bisect start '5c73cd9f0819c1c44e373e3dabb68318b1de1a12' 'fc5f2284ad6951ce06d6881ca8cbd6d14d5f5071' # test job: [5c73cd9f0819c1c44e373e3dabb68318b1de1a12] https://lava.sirena.org.uk/scheduler/job/2954705 # bad: [5c73cd9f0819c1c44e373e3dabb68318b1de1a12] Add linux-next specific files for 20260707 git bisect bad 5c73cd9f0819c1c44e373e3dabb68318b1de1a12 # test job: [f03ff00f5fd55e2c02b44611ac65380082c46b62] https://lava.sirena.org.uk/scheduler/job/2954744 # good: [f03ff00f5fd55e2c02b44611ac65380082c46b62] Merge branch 'libcrypto-next' of https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git git bisect good f03ff00f5fd55e2c02b44611ac65380082c46b62 # test job: [fe28d02cde5372d7f71cc6132ccdef37a98ac750] https://lava.sirena.org.uk/scheduler/job/2954790 # good: [fe28d02cde5372d7f71cc6132ccdef37a98ac750] Merge branch 'for-linux-next' of https://gitlab.freedesktop.org/drm/i915/kernel.git git bisect good fe28d02cde5372d7f71cc6132ccdef37a98ac750 # test job: [954c3050e57c29ee3a216cda83da13f16815bbb4] https://lava.sirena.org.uk/scheduler/job/2954824 # bad: [954c3050e57c29ee3a216cda83da13f16815bbb4] Merge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git git bisect bad 954c3050e57c29ee3a216cda83da13f16815bbb4 # test job: [6054d7d90130d6788ec459be1bfdc14300587aac] https://lava.sirena.org.uk/scheduler/job/2954855 # good: [6054d7d90130d6788ec459be1bfdc14300587aac] Merge branch 'for-mfd-next' of https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git git bisect good 6054d7d90130d6788ec459be1bfdc14300587aac # test job: [f705c6728b357ca8d675f9ee94191d7c900e3652] https://lava.sirena.org.uk/scheduler/job/2954897 # bad: [f705c6728b357ca8d675f9ee94191d7c900e3652] Merge branch into tip/master: 'x86/msr' git bisect bad f705c6728b357ca8d675f9ee94191d7c900e3652 # test job: [7af7f4599923cc4e1ab60d0991b33cab17ade101] https://lava.sirena.org.uk/scheduler/job/2954940 # bad: [7af7f4599923cc4e1ab60d0991b33cab17ade101] Merge branch into tip/master: 'perf/core' git bisect bad 7af7f4599923cc4e1ab60d0991b33cab17ade101 # test job: [c6cf5150bdb99c61d32fca8da51f5a2a80227ca2] https://lava.sirena.org.uk/scheduler/job/2954963 # bad: [c6cf5150bdb99c61d32fca8da51f5a2a80227ca2] Merge branch into tip/master: 'locking/futex' git bisect bad c6cf5150bdb99c61d32fca8da51f5a2a80227ca2 # test job: [86620fb9d37b9f5aaae7c7cb27a173463d961cdc] https://lava.sirena.org.uk/scheduler/job/2955014 # good: [86620fb9d37b9f5aaae7c7cb27a173463d961cdc] selftests/futex: Provide thread creation and synchronization helpers git bisect good 86620fb9d37b9f5aaae7c7cb27a173463d961cdc # test job: [86e9ba573c353afd1a46816682f4cc3dbabeeb23] https://lava.sirena.org.uk/scheduler/job/2955047 # good: [86e9ba573c353afd1a46816682f4cc3dbabeeb23] irqchip/irq-imgpdc: Remove unused driver git bisect good 86e9ba573c353afd1a46816682f4cc3dbabeeb23 # test job: [1cd91823008a033cc766b78ad0cd1138e96bfcd9] https://lava.sirena.org.uk/scheduler/job/2955064 # good: [1cd91823008a033cc766b78ad0cd1138e96bfcd9] Merge branch into tip/master: 'irq/core' git bisect good 1cd91823008a033cc766b78ad0cd1138e96bfcd9 # test job: [919c6f2762254d4bcb92ea30bf473cfcc5521c9c] https://lava.sirena.org.uk/scheduler/job/2955116 # good: [919c6f2762254d4bcb92ea30bf473cfcc5521c9c] Merge branch into tip/master: 'locking/debug' git bisect good 919c6f2762254d4bcb92ea30bf473cfcc5521c9c # test job: [157a9b22ff769e1a657aec6210df3ea896600eec] https://lava.sirena.org.uk/scheduler/job/2955137 # bad: [157a9b22ff769e1a657aec6210df3ea896600eec] selftests/futex: Use thread synchronization helpers instead of usleep() git bisect bad 157a9b22ff769e1a657aec6210df3ea896600eec # first bad commit: [157a9b22ff769e1a657aec6210df3ea896600eec] selftests/futex: Use thread synchronization helpers instead of usleep()
signature.asc
Description: PGP signature

