diff options
| author | 2026-04-24 14:31:36 -1000 | |
|---|---|---|
| committer | 2026-04-24 14:31:36 -1000 | |
| commit | 207d76a372fb1bb324eadc8cb5bcaa0a8da7cefd (patch) | |
| tree | 829c04fa70360042cae90f67778b6b5362e16e83 /tools/perf/scripts/python/stackcollapse.py | |
| parent | sched_ext: Save and restore scx_locked_rq across SCX_CALL_OP (diff) | |
sched_ext: Pass held rq to SCX_CALL_OP() for dump_cpu/dump_task
scx_dump_state() walks CPUs with rq_lock_irqsave() held and invokes
ops.dump_cpu / ops.dump_task with NULL locked_rq, leaving
scx_locked_rq_state NULL. If the BPF callback calls a kfunc that
re-acquires rq based on scx_locked_rq() - e.g. scx_bpf_cpuperf_set(cpu)
- it re-acquires the already-held rq.
Pass the held rq to SCX_CALL_OP(). Thread it into scx_dump_task() too.
The pre-loop ops.dump call runs before rq_lock_irqsave() so keeps
rq=NULL.
Fixes: 07814a9439a3 ("sched_ext: Print debug dump after an error exit")
Cc: stable@vger.kernel.org # v6.12+
Reported-by: Chris Mason <clm@meta.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Andrea Righi <arighi@nvidia.com>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
