* [GIT PULL] sched_ext: Fixes for v7.4
@ 2026-10-27 20:31 Tejun Heo
0 siblings, 0 replies; only message in thread
From: Tejun Heo @ 2026-10-27 20:31 UTC (permalink / raw)
To: Linus Torvalds
Cc: David Vernet, Andrea Righi, Changwoo Min, Emil Tsalapatis,
David Dai, sched-ext, linux-kernel
Hello,
The following changes since commit 1f5dde349ac2fca1f119ae8de3f0d2f1c2a8d338:
sched_ext: Drop the locks periodically while walking a user DSQ for re-enqueue (2026-10-17 20:18:02 -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.4-fixes
for you to fetch changes up to af4ed5682e62556beb399b76f2f1274ae1aad9e2:
sched_ext: Reject scx_bpf_sub_grant/revoke() in tracing programs (2026-10-27 09:40:56 -1000)
----------------------------------------------------------------
sched_ext: Fixes for v7.4
This is a big pull for fixes, but much of it was in the works before the
merge window. Most of these fixes are in sub-scheduler support, which nests
BPF schedulers under a parent that hands them CPUs. It was heavily reworked
over recent cycles and is now functionally complete. Porting real schedulers
on it drove the latest additions and keeps finding corner cases. For
example, once CPUs are shared and can be taken back, the kernel must keep
every task moving when its scheduler can't run it or is failing, and those
fallbacks interact subtly with each other and with other new core features.
- The fallback paths meant to keep a task moving when its scheduler can't
run it or is failing could themselves leave it stuck.
- The stall watchdog could blame a scheduler for time it wasn't responsible
for, even taking down all of sched_ext.
- Sub-schedulers were told late, or not at all, which CPUs they could use.
- Deferred callbacks could stay queued or be dropped under core scheduling
and proxy execution, with a sched/core fix to the duplicate check.
- Hardening: tracing programs can no longer call kfuncs that could deadlock
the CPU.
----------------------------------------------------------------
Andrea Righi (3):
sched_ext: Queue the kick_sync wait from set_next_task_scx()
sched_ext: Use irq_work for deferred actions with proxy execution
sched/core: Avoid requeueing a singleton balance callback
Hui Su (1):
sched_ext: Reject oversized automatic CID shards
Junbin Zhang (1):
sched_ext: Reject rq-lock-taking kfuncs in tracing programs
Michal Blaszczyk (1):
sched_ext: Reset runnable_at when a task leaves its scheduler
Tejun Heo (28):
sched_ext: Factor out cid_pshard()
sched_ext: Free a sub-scheduler a grace period after discarding its ecaps syncs
sched_ext: Report a sub-scheduler's ecaps on attach and detach
sched_ext: Deliver ecaps only while the root has the cpu online
sched_ext: Report the ecaps loss when a cpu goes offline
sched_ext: Leave suspend and hibernation out of the ecaps reports
sched_ext: Fix the stall watchdog testing and blaming the wrong sched under bypass
sched_ext: Pack scx_ent_flags' multi-bit fields at the top
sched_ext: Clear holding_cpu where the claim is confirmed
sched_ext: Fix bypassed tasks stranded by the reenqueue limit
sched_ext: Fix bypassed tasks looping on a host without SCX_CAP_ENQ
sched_ext: Move refill_task_slice_dfl() below apply_slice_vtime()
sched_ext: Fix rescue served time disagreeing with the slice under proxy execution
sched_ext: Restore a rescuee's slice after ops.stopping()
sched_ext: Fix a cpu idling with a runnable rescuee
sched_ext: Mark the rescue grant as a kernel slice with SCX_TASK_KERNEL_SLICE
sched_ext: Refuse extending a kernel slice
sched_ext: Fix a cpu idling after put_prev_task_scx() queues its task on the local DSQ
sched_ext: Expire prev's slice in dispatch_one() under bypass
sched_ext: Fix bypassed tasks stalling when the host lacks SCX_CAP_BASE
sched_ext: Fix the bypass load balancer stranding tasks on cpus where the host lacks SCX_CAP_BASE
sched_ext: Factor out bypass_lb_move() and insert with the donor DSQ unlocked
sched_ext: Let the bypass load balancer move tasks homed on other cpus
sched_ext: Fix queued bypassed tasks stalling when the host loses SCX_CAP_BASE
sched_ext: Fix a lone IMMED task waiting behind a kept prev
sched_ext: Fix use-after-free of a NONE rescuee leaving its sched while running
sched_ext: Fix the rescue overload pick ejecting the wrong sub under bypass
sched_ext: Reject scx_bpf_sub_grant/revoke() in tracing programs
include/linux/sched/ext.h | 22 +-
kernel/sched/ext/cid.c | 6 +
kernel/sched/ext/ext.c | 933 +++++++++++++++++-------
kernel/sched/ext/inlines.h | 15 +-
kernel/sched/ext/internal.h | 90 ++-
kernel/sched/ext/sub.c | 718 +++++++++++++-----
kernel/sched/ext/sub.h | 26 +-
kernel/sched/sched.h | 24 +-
tools/sched_ext/include/scx/enum_defs.autogen.h | 1 +
tools/sched_ext/include/scx/enums_abi.autogen.h | 29 +-
tools/sched_ext/scx_qmap.bpf.c | 25 +-
11 files changed, 1392 insertions(+), 497 deletions(-)
--
tejun
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-10-27 20:31 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-27 20:31 [GIT PULL] sched_ext: Fixes for v7.4 Tejun Heo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®