[GIT PULL] sched_ext: Fixes for v7.3-rc7

From: Tejun Heo

Date: Wed Oct 14 2026 - 18:37:29 EST


Hello,

The following changes since commit e6ac89b8b1c12e9104df45a14a26e2dfa96ded06:

sched_ext: Generate qseq from a per-task counter (2026-10-03 13:23:31 -1000)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git tags/sched_ext-for-7.3-rc7-fixes

for you to fetch changes up to 2935062be77113c1c4565ca9d0c72180449aafee:

sched_ext: Wait for SCX_OPSS_DISPATCHING before moving tasks off DSQs (2026-10-13 09:55:19 -1000)

----------------------------------------------------------------
sched_ext: Fixes for v7.3-rc7

- A task that skipped the BPF scheduler on its way back to its CPU's local
queue could stall there until the watchdog fired, as the CPU had already
decided to go idle.

- Use-after-free of a destroyed user dispatch queue by a deferred re-enqueue
request.

- A task could be moved off a dispatch queue while the dispatching CPU was
still running ops.dequeue() on it.

- Bypass mode mishandled a sub-scheduler bypass overlapping an ancestor's,
as across a system suspend. Descendants could leave bypass mid-teardown
and tasks could be stranded on bypass queues.

- The idle CPU selection helper could return a CPU outside the allowed CPUs
of a pinned or migration-disabled task.

----------------------------------------------------------------
Hui Su (1):
sched_ext: idle: Respect task affinity in restricted CPU selection

Kuba Piecuch (2):
sched_ext: Rename scx_reenq_wait_dispatching() to scx_wait_dispatching()
sched_ext: Wait for SCX_OPSS_DISPATCHING before moving tasks off DSQs

Tejun Heo (4):
sched_ext: Fix stall when a task enqueued with SCX_ENQ_LAST lands back on its CPU's local DSQ
sched_ext: Fix use-after-free of a destroyed user DSQ by a deferred reenqueue
sched_ext: Propagate every bypass depth change to the descendants
sched_ext: Fix the bypass dispatch claim for schedulers bypassed by an ancestor

kernel/sched/ext/ext.c | 123 +++++++++++++++++++++++++++++++-------------
kernel/sched/ext/idle.c | 50 ++++++++++++++----
kernel/sched/ext/internal.h | 7 +--
kernel/sched/ext/sub.c | 2 +-
4 files changed, 132 insertions(+), 50 deletions(-)

--
tejun