When running mixed stress tests (stess-ng, kernel selftests etc.)
on a slow machine, futex 'requeue_multiple' case failed randomly,
with message:
"
waiter failed errno 110
not ok 2 futex_requeue many returned: 0 Success
not ok 3 futex_requeue many returned: 0 Success
# Planned tests != run tests (2 != 3)
# Totals: pass:1 fail:2 xfail:0 xpass:0 skip:0 error:0
"
The process of 'requeue_multiple' case will:
* create 10 pthreads with futex (timeout 30 ms)
* wait 10 ms
* start 'futex_cmp_requeue' case
So there is an assumption that the 10 threads can be created in 20 ms,
which is safe enough for normal platforms, while for slow platforms
with stress workload, the creation could take more than 20 ms, and
some futex will timeout and cause the case to fail.
Increasing the timeout to 100 ms to cover slow platforms, which doesn't
hurt normal platforms much.
Signed-off-by: Feng Tang <[email protected]>
---
tools/testing/selftests/futex/functional/futex_requeue.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/futex/functional/futex_requeue.c
b/tools/testing/selftests/futex/functional/futex_requeue.c
index dcf0d5f2f312..2df9e8dfb04c 100644
--- a/tools/testing/selftests/futex/functional/futex_requeue.c
+++ b/tools/testing/selftests/futex/functional/futex_requeue.c
@@ -11,7 +11,7 @@
#include "futextest.h"
#include "kselftest_harness.h"
-#define timeout_ns 30000000
+#define timeout_ns 100000000
#define WAKE_WAIT_US 10000
volatile futex_t *f1;
--
2.43.5