summaryrefslogtreecommitdiff
path: root/include/linux/instruction_pointer.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2026-04-25 03:31:36 +0300
committerTejun Heo <tj@kernel.org>2026-04-25 03:31:36 +0300
commit207d76a372fb1bb324eadc8cb5bcaa0a8da7cefd (patch)
tree829c04fa70360042cae90f67778b6b5362e16e83 /include/linux/instruction_pointer.h
parent7fb39e4eb4c3db52e4707a6a1cd45362f7e803f5 (diff)
downloadlinux-207d76a372fb1bb324eadc8cb5bcaa0a8da7cefd.tar.xz
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 'include/linux/instruction_pointer.h')
0 files changed, 0 insertions, 0 deletions