diff options
| author | Usama Arif <usama.arif@linux.dev> | 2026-09-23 14:34:44 -0700 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2026-09-23 13:21:40 -1000 |
| commit | 84a0d325b0b709962772e66a804677ceaca417e2 (patch) | |
| tree | 9b769e241da5e8d6a3defa95d38e004186e485e1 /tools/perf/scripts/python/stackcollapse.py | |
| parent | efa7bc7d719558483b14e1c44bcce11532a44581 (diff) | |
| download | linux-next-84a0d325b0b709962772e66a804677ceaca417e2.tar.gz linux-next-84a0d325b0b709962772e66a804677ceaca417e2.zip | |
sched_ext: Avoid relocking DSQ during remote DSQ moves
When scx_bpf_dsq_move*() moves a task from a non-local DSQ to a
remote local DSQ, move_task_between_dsqs() drops src_dsq->lock while
leaving p->scx.dsq set. The following deactivate_task() then reacquires
src_dsq->lock in scx_dispatch_dequeue() to unlink the task and clear
p->scx.dsq.
Both the source rq and src_dsq are already locked before the source DSQ
lock is dropped. Call dispatch_dequeue_locked() there so that
deactivate_task() takes the !dsq path and avoids the redundant lock
acquisition.
Suggested-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Usama Arif <usama.arif@linux.dev>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
