[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <tencent_35CFB8AE9D4BE7917D95763D15B972638C0A@qq.com>
Date: Thu, 5 Feb 2026 10:00:49 +0800
From: Yuwen Chen <ywen.chen@...mail.com>
To: tglx@...nel.org
Cc: ywen.chen@...mail.com,
akpm@...ux-foundation.org,
andrealmeid@...lia.com,
bigeasy@...utronix.de,
colin.i.king@...il.com,
dave@...olabs.net,
dvhart@...radead.org,
edliaw@...gle.com,
justinstitt@...gle.com,
kernel-team@...roid.com,
licayy@...mail.com,
linux-kernel@...r.kernel.org,
linux-kselftest@...r.kernel.org,
luto@....edu,
mingo@...hat.com,
morbo@...gle.com,
nathan@...nel.org,
ndesaulniers@...gle.com,
peterz@...radead.org,
shuah@...nel.org,
usama.anjum@...labora.com,
wakel@...gle.com
Subject: [PATCH v5 0/2] selftests/futex: fix the failed futex_requeue test
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:
MainThread Thread1
│
pthread_create-------------------┐
│ │
futex_cmp_requeue │
│ futex_wait
│ │
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.
This patch avoids this problem by checking whether the child thread is
in a sleeping state in the main thread.
v1->v2:
1. Fix the issue of abnormal use of fscanf in the get_thread_state function
2. Add timeout logic
v2->v3: https://lore.kernel.org/all/tencent_B9DBF2ECBE56BAB68BDAB949C6935D01CE09@qq.com/
1. Use /proc/[pid]/wchan instead of /proc/[pid]/stat to check if a process has entered the sleep state
2. Refactor part of the logic to facilitate code reuse.
v3->v4: https://lore.kernel.org/all/tencent_FC5FB35D2545AFDCA6E377AE4DE75C79AF08@qq.com/
1. Add a new futex_thread.h file.
2. Add a new function named futex_thread_destroy.
3. Fix the issue that threads are not reclaimed in futex_requeue.
v4->v5: https://lore.kernel.org/all/tencent_204540DCC2E303AEB6E77679C05F5C5D3808@qq.com/
1. Split the patch into two.
2. Modify the thread interface to support returning error codes.
3. In the test cases, check the return values of the threads.
4. Modify the macro definitions to more understandable names.
5. When failing to open the /proc/%d/wchan file, delay for 100 ms.
6. Modify the parameter description of the interface.
Powered by blists - more mailing lists