summaryrefslogtreecommitdiff
path: root/tools/testing
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2026-07-16 10:46:04 -1000
committerTejun Heo <tj@kernel.org>2026-07-17 21:29:27 -1000
commit5cdc928598095b2c7d5f265e5f21eadd1634bfbe (patch)
tree09eff9a4c120ff2092eebbadbb01066fa96ad894 /tools/testing
parent8c13364db9c9a43ed286f3a8d0fb9477b1adc43c (diff)
sched_ext: Don't enable non-ext tasks in the sub-sched task loops
Root enable and scx_post_fork() enable a task only if it's on the ext class. Tasks on other classes, possible under an SCX_OPS_SWITCH_PARTIAL root, are left READY and enabled by switching_to_scx() when they switch over. The sub enable-commit pass and the sub-disable re-home loop enable unconditionally, so a fair-class READY task in the subtree becomes ENABLED while not on sched_ext. A later switch to SCHED_EXT then trips the task state validation WARN (ENABLED with the previous state not READY) and calls ops.enable() a second time. Gate scx_enable_task() on the task's class in both loops. Fixes: 337ec00b1d9c ("sched_ext: Implement cgroup sub-sched enabling and disabling") Signed-off-by: Tejun Heo <tj@kernel.org> Reviewed-by: Andrea Righi <arighi@nvidia.com>
Diffstat (limited to 'tools/testing')
0 files changed, 0 insertions, 0 deletions