diff options
| author | Tejun Heo <tj@kernel.org> | 2026-03-07 05:29:50 -1000 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2026-03-07 05:29:50 -1000 |
| commit | 30b0515342db48ac9ffd9999648de0f7ca1d6a87 (patch) | |
| tree | 1c6ecae67c839b41bb2ae345f3e54ff1eacc253c /tools/perf/scripts/python/task-analyzer.py | |
| parent | ffa7ae0724e4ee548c87a56dc7a7a0ab7ee0c1d6 (diff) | |
sched_ext: Add per-CPU data to DSQs
Add per-CPU data structure to dispatch queues. Each DSQ now has a percpu
scx_dsq_pcpu which contains a back-pointer to the DSQ. This will be used by
future changes to implement per-CPU reenqueue tracking for user DSQs.
init_dsq() now allocates the percpu data and can fail, so it returns an
error code. All callers are updated to handle failures. exit_dsq() is added
to free the percpu data and is called from all DSQ cleanup paths.
In scx_bpf_create_dsq(), init_dsq() is called before rcu_read_lock() since
alloc_percpu() requires GFP_KERNEL context, and dsq->sched is set
afterwards.
v2: Fix err_free_pcpu to only exit_dsq() initialized bypass DSQs (Andrea
Righi).
Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Andrea Righi <arighi@nvidia.com>
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions
