diff options
| author | Andrea Righi <arighi@nvidia.com> | 2026-09-18 19:13:28 +0200 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2026-09-18 14:19:28 -1000 |
| commit | ed7d96897e5389bf896fac57c1fcb2914b84cda4 (patch) | |
| tree | d780dbc45d74bca781f631d4b2b18ff3c038321e /tools/perf/scripts/python/event_analyzing_sample.py | |
| parent | f8e5a4e3f3bea6b389ae8dbeafe50fdb8ab543b2 (diff) | |
selftests/sched_ext: Add lazy preemption tests
Add trace-based coverage for immediate and lazy preemption. An fexit
probe on __resched_curr() records the requested TIF after the current
task's slice is cleared. SCX_OPS_ENQ_LAST drives the victim through
ops.stopping() without relying on an unrelated wakeup.
Exercise kick requests individually, in both orders and combined in one
call. Verify that immediate preemption and WAIT take precedence over
lazy preemption, and that combining immediate and lazy enqueue
preemption follows the same rule. Also test overriding the persistent
policy in both directions through scx_bpf_task_set_lazy_resched(), and
add invalid kick flag coverage.
Extend the NO_HZ_FULL test with infinite-slice victims. Wait until the
scheduler tick is observed to stop, then verify that lazy enqueue and
kick requests restart it and make forward progress. Move the controller
off all NO_HZ_FULL CPUs and increase the phase and watchdog timeouts to
tolerate scheduling delays in oversubscribed test VMs.
Detect both dynamic and static kernel preemption modes and skip
mode-sensitive assertions when the active mode is unavailable. Skip
trace-based cases when their kernel BTF targets are unavailable, while
allowing the independent invalid-flag cases to run.
Signed-off-by: Andrea Righi <arighi@nvidia.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/event_analyzing_sample.py')
0 files changed, 0 insertions, 0 deletions
