diff options
| author | Zhao Mengmeng <zhaomengmeng@kylinos.cn> | 2026-03-26 10:51:55 +0800 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2026-03-25 17:45:23 -1000 |
| commit | f546c77038ab898726e7344255217fbec382b97f (patch) | |
| tree | 46311628953d3a792ee0a3e71f09963cf8365bda /tools/perf/scripts/python/bin/stackcollapse-report | |
| parent | 3eb8f022919187e2fe786f677569d2bd5a0b1915 (diff) | |
tools/sched_ext: scx_pair: fix pair_ctx indexing for CPU pairs
scx_pair sizes pair_ctx to nr_cpu_ids / 2, so valid pair_ctx keys are
dense pair indexes in the range [0, nr_cpu_ids / 2).
However, the userspace setup code stores pair_id as the first CPU number
in each pair. On an 8-CPU system with "-S 1", that produces pair IDs
0, 2, 4 and 6 for pairs [0,1], [2,3], [4,5] and [6,7]. CPUs in the
latter half then look up pair_ctx with out-of-range keys and the BPF
scheduler aborts with:
EXIT: scx_bpf_error (scx_pair.bpf.c:328: failed to lookup pairc and
in_pair_mask for cpu[5])
Assign pair_id using a dense pair counter instead so that each CPU pair
maps to a valid pair_ctx entry. Besides, reject odd CPU configuration, as
scx_pair requires all CPUs to be paired.
Fixes: f0262b102c7c ("tools/sched_ext: add scx_pair scheduler")
Signed-off-by: Zhao Mengmeng <zhaomengmeng@kylinos.cn>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-report')
0 files changed, 0 insertions, 0 deletions
