[GIT PULL] sched_ext: Fixes for v7.0-rc6

From: Tejun Heo

Date: Tue Mar 31 2026 - 15:47:31 EST


Hello,

The following changes since commit 2fcfe5951eb2e8440fc5e1dd6ea977336ff83a1d:

sched_ext: Use WRITE_ONCE() for the write side of scx_enable helper pointer (2026-03-09 06:08:26 -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.0-rc6-fixes

for you to fetch changes up to 090d34f0f0285124452373225bcc520a31e305e4:

selftests/sched_ext: Add cyclic SCX_KICK_WAIT stress test (2026-03-30 08:37:55 -1000)

----------------------------------------------------------------
sched_ext: Fixes for v7.0-rc6

- Fix SCX_KICK_WAIT deadlock where multiple CPUs waiting for each other in
hardirq context form a cycle. Move the wait to a balance callback which
can drop the rq lock and process IPIs.

- Fix inconsistent NUMA node lookup in scx_select_cpu_dfl() where the
waker_node used cpu_to_node() while prev_cpu used
scx_cpu_node_if_enabled(), leading to undefined behavior when per-node
idle tracking is disabled.

----------------------------------------------------------------
Cheng-Yang Chou (1):
sched_ext: Fix inconsistent NUMA node lookup in scx_select_cpu_dfl()

Tejun Heo (2):
sched_ext: Fix SCX_KICK_WAIT deadlock by deferring wait to balance callback
selftests/sched_ext: Add cyclic SCX_KICK_WAIT stress test

kernel/sched/ext.c | 95 +++++++---
kernel/sched/ext_idle.c | 2 +-
kernel/sched/sched.h | 3 +
tools/testing/selftests/sched_ext/Makefile | 1 +
.../selftests/sched_ext/cyclic_kick_wait.bpf.c | 68 ++++++++
.../testing/selftests/sched_ext/cyclic_kick_wait.c | 194 +++++++++++++++++++++
6 files changed, 337 insertions(+), 26 deletions(-)
create mode 100644 tools/testing/selftests/sched_ext/cyclic_kick_wait.bpf.c
create mode 100644 tools/testing/selftests/sched_ext/cyclic_kick_wait.c

--
tejun