diff options
| author | Tianyi Chen <hi@tychen.cc> | 2026-09-06 21:55:22 +0800 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2026-09-08 07:58:22 -1000 |
| commit | 49c64ffb2fd996af4c82007196c61e17d74cb1ab (patch) | |
| tree | 97cc6b8ed5b96ef85b292832c97ab7b568bef53a /tools/perf/scripts/python/export-to-sqlite.py | |
| parent | 7036264dcd46ab641768ef97ab74f91bce5701c8 (diff) | |
selftests/sched_ext: Handle CPU hotplug write failures
toggle_online_status() logs failed CPU state changes but discards the
write result. The hotplug tests can consequently wait indefinitely for
a scheduler exit that the failed operation never triggered.
Return the write result and stop both hotplug tests when a required
CPU state change fails. Release the acquired scheduler resources on
these paths and let the existing cleanup callback retry restoring
CPU1. Also fail the test when its normal CPU restoration fails.
Tested in a two-vCPU VM running a kernel built from the same source
as the selftests. Injecting EIO with strace into each of the ten CPU
state writes makes the fixed test return 1, with CPU1 online and
sched_ext disabled after cleanup. The original test does not finish
within three seconds when either of the first two writes fails.
Normal hotplug tests pass before and after the change. Making the
online file read-only also produces a failure without hanging.
Fixes: a5db7817af78 ("sched_ext: Add selftests")
Assisted-by: LLM
Signed-off-by: Tianyi Chen <hi@tychen.cc>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions
