diff options
| author | Tejun Heo <tj@kernel.org> | 2026-07-09 12:06:10 -1000 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2026-07-09 12:06:10 -1000 |
| commit | 8da6d37d1dda3842249c7ea2b84daf88d52da557 (patch) | |
| tree | 346f6578b643efb66e36b42a68127dadc40b0b41 /tools/perf/scripts/python/bin/stackcollapse-record | |
| parent | 05e72aeaaa059aceb662a936007a95ea1912560b (diff) | |
sched_ext: Add SCX_CALL_CID_OP_TASK() for cid-form op dispatch
The cid-form ops overlay their cpu-form siblings at the same struct slot.
Ops whose signature matches the sibling are invoked through the cpu-form
call sites unchanged, but set_cmask() takes an arena cmask address rather
than a cpumask, so scx_call_op_set_cpumask() calls ops_cid.set_cmask()
directly and hand-rolled the kf_tasks[] and locked_rq bracket that
SCX_CALL_OP_TASK() provides. The hand-rolled bracket reset locked_rq to
NULL on exit instead of restoring the saved value, so a nested call would
clobber the outer op's locked-rq tracking.
Parameterize the dispatch macros by the ops-table member and add
SCX_CALL_CID_OP_TASK(), which routes through sch->ops_cid. Convert
scx_call_op_set_cpumask() to it and drop the hand-rolled bracket. The only
behavioral change is that locked_rq is now saved and restored like every
other op call site.
Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Andrea Righi <arighi@nvidia.com>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions
