[PATCHSET sched_ext/for-7.3] sched_ext: Sub-scheduler and cid fixes

From: Tejun Heo

Date: Mon Jul 20 2026 - 04:32:18 EST


Hello,

A few fixes for the sub-scheduler and cid-form code on for-7.3.

- 0001 attributes a runnable stall to the scheduler that owns the DSQ the
task is stuck on rather than the task's owner, so a bypassing sub's task
parked on an ancestor's bypass DSQ blames the ancestor, not the sub.

- 0002 skips the default CPU selection while bypassing. The pick is discarded
by the bypass enqueue anyway, and it consults idle masks a scheduler doing
its own idle tracking leaves frozen.

- 0003 guards the cid kfuncs against the cid tables not being allocated yet,
which a program can hit while racing the first scheduler enable.

Based on sched_ext/for-7.3 (b20dfde5ec54).

Tejun Heo (3):
sched_ext: Blame the DSQ's owning scheduler for a runnable stall
sched_ext: Skip the default CPU selection while bypassing
sched_ext: Guard the cid kfuncs against unallocated cid tables

Git tree: git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git scx-sub-fixes

kernel/sched/ext/cid.c | 5 +++--
kernel/sched/ext/cid.h | 23 +++++++++++++++--------
kernel/sched/ext/ext.c | 26 ++++++++++++++++++++++++--
3 files changed, 42 insertions(+), 12 deletions(-)

--
tejun