[GIT PULL] sched_ext: Changes for v6.20
From: Tejun Heo
Date: Mon Feb 09 2026 - 14:33:24 EST
Hi, Linus.
The following changes since commit ccaeeb585c7c2a0ac67ee1af9acb4d1411dc409e:
sched_ext: Use the resched_cpu() to replace resched_curr() in the bypass_lb_node() (2025-12-22 17:51:51 -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-6.20
for you to fetch changes up to 4544e9c4ec9a5955a37fdd8204a3d98106f97ab7:
selftests/sched_ext: Fix init_enable_count flakiness (2026-02-02 09:45:09 -1000)
----------------------------------------------------------------
sched_ext: Changes for v6.20
- Move C example schedulers back from the external scx repo to
tools/sched_ext as the authoritative source. scx_userland and scx_pair
are returning while scx_sdt (BPF arena-based task data management) is
new. These schedulers will be dropped from the external repo.
- Improve error reporting by adding scx_bpf_error() calls when DSQ
creation fails across all in-tree schedulers.
- Avoid redundant irq_work_queue() calls in destroy_dsq() by only
queueing when llist_add() indicates an empty list.
- Fix flaky init_enable_count selftest by properly synchronizing
pre-forked children using a pipe instead of sleep().
----------------------------------------------------------------
Emil Tsalapatis (4):
tools/sched_ext: add scx_userland scheduler
tools/sched_ext: add scx_pair scheduler
tools/sched_ext: add arena based scheduler
tools/sched_ext: Fix data header access during free in scx_sdt
George Guo (1):
sched_ext: Add error logging for dsq creation failures
Tejun Heo (1):
selftests/sched_ext: Fix init_enable_count flakiness
Zqiang (1):
sched_ext: Avoid multiple irq_work_queue() calls in destroy_dsq()
zhidao su (1):
tools/sched_ext: Add error logging for dsq creation failures in remaining schedulers
kernel/sched/ext.c | 4 +-
tools/sched_ext/Makefile | 2 +-
tools/sched_ext/scx_central.bpf.c | 4 +-
tools/sched_ext/scx_cpu0.bpf.c | 10 +-
tools/sched_ext/scx_flatcg.bpf.c | 14 +-
tools/sched_ext/scx_pair.bpf.c | 610 ++++++++++++++++++
tools/sched_ext/scx_pair.c | 180 ++++++
tools/sched_ext/scx_pair.h | 9 +
tools/sched_ext/scx_qmap.bpf.c | 8 +-
tools/sched_ext/scx_sdt.bpf.c | 716 +++++++++++++++++++++
tools/sched_ext/scx_sdt.c | 101 +++
tools/sched_ext/scx_sdt.h | 113 ++++
tools/sched_ext/scx_simple.bpf.c | 10 +-
tools/sched_ext/scx_userland.bpf.c | 344 ++++++++++
tools/sched_ext/scx_userland.c | 437 +++++++++++++
tools/sched_ext/scx_userland.h | 17 +
.../selftests/sched_ext/init_enable_count.c | 34 +-
17 files changed, 2592 insertions(+), 21 deletions(-)
create mode 100644 tools/sched_ext/scx_pair.bpf.c
create mode 100644 tools/sched_ext/scx_pair.c
create mode 100644 tools/sched_ext/scx_pair.h
create mode 100644 tools/sched_ext/scx_sdt.bpf.c
create mode 100644 tools/sched_ext/scx_sdt.c
create mode 100644 tools/sched_ext/scx_sdt.h
create mode 100644 tools/sched_ext/scx_userland.bpf.c
create mode 100644 tools/sched_ext/scx_userland.c
create mode 100644 tools/sched_ext/scx_userland.h
--
tejun