| From 83a3ef530d600014756f1ca4b8d98c3fd5774d9b Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 1 Jul 2025 08:08:45 +0200 |
| Subject: selftests/sched_ext: Fix exit selftest hang on UP |
| |
| From: Andrea Righi <arighi@nvidia.com> |
| |
| [ Upstream commit 7980ad7e4ca80f6c255f4473fba82a475342035a ] |
| |
| On single-CPU systems, ops.select_cpu() is never called, causing the |
| EXIT_SELECT_CPU test case to wait indefinitely. |
| |
| Avoid the stall by skipping this specific sub-test when only one CPU is |
| available. |
| |
| Reported-by: Phil Auld <pauld@redhat.com> |
| Fixes: a5db7817af780 ("sched_ext: Add selftests") |
| Signed-off-by: Andrea Righi <arighi@nvidia.com> |
| Reviewed-by: Phil Auld <pauld@redhat.com> |
| Tested-by: Phil Auld <pauld@redhat.com> |
| Signed-off-by: Tejun Heo <tj@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| tools/testing/selftests/sched_ext/exit.c | 8 ++++++++ |
| 1 file changed, 8 insertions(+) |
| |
| diff --git a/tools/testing/selftests/sched_ext/exit.c b/tools/testing/selftests/sched_ext/exit.c |
| index 31bcd06e21cd3..2c084ded29680 100644 |
| --- a/tools/testing/selftests/sched_ext/exit.c |
| +++ b/tools/testing/selftests/sched_ext/exit.c |
| @@ -22,6 +22,14 @@ static enum scx_test_status run(void *ctx) |
| struct bpf_link *link; |
| char buf[16]; |
| |
| + /* |
| + * On single-CPU systems, ops.select_cpu() is never |
| + * invoked, so skip this test to avoid getting stuck |
| + * indefinitely. |
| + */ |
| + if (tc == EXIT_SELECT_CPU && libbpf_num_possible_cpus() == 1) |
| + continue; |
| + |
| skel = exit__open(); |
| skel->rodata->exit_point = tc; |
| exit__load(skel); |
| -- |
| 2.39.5 |
| |