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

Tejun Heo <[email protected]> Sun, 02 Aug 2026 15:13:26 -1000
Newsgroups dev.linux.lists.sched-ext,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hello,

The following changes since commit 0e2f4ab68a89fad42e0f5a9ff4b740738e7aa1d6:

  sched_ext: Skip ops.set_weight() for disabled tasks (2026-07-10 06:41:28 -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.2-rc6-fixes

for you to fetch changes up to d4a00d61a5c2c24973175ace5368d1f6acf9bb0a:

  selftests/sched_ext: Handle sleeping task affinity changes in numa test (2026-07-23 07:50:37 -1000)

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

- More lifecycle fixes for the new sub-scheduler support: a failed enable
  could tear down a never-linked sub-scheduler in a way that races the root
  scheduler's disable and leads to a use-after-free, tasks that were not on
  the ext class could still get the enable callback, and a policy-rejection
  path silently rewrote a running task's scheduling policy instead of
  aborting the scheduler.

- Scheduler enable/disable could deadlock with cgroup removal and a
  concurrent cgroup weight write through kernfs. Fixed by reordering lock
  acquisition.

- Sync wakeups could leave the waker CPU incorrectly marked idle in the
  built-in idle-CPU tracking.

- A selftest fix for sleeping tasks whose CPU affinity changes before
  wakeup.

----------------------------------------------------------------
Kuba Piecuch (2):
      sched_ext: Mark waker CPU busy when selected in WAKE_SYNC case
      selftests/sched_ext: Handle sleeping task affinity changes in numa test

Tejun Heo (4):
      sched_ext: Reject setting disallow from init_task outside the enable path
      sched_ext: Take cgroup_lock() first in scx_cgroup_lock()
      sched_ext: Skip sub-disable teardown for never-linked sub-schedulers
      sched_ext: Don't enable non-ext tasks in the sub-sched task loops

 include/linux/sched/ext.h                    | 10 +++---
 kernel/sched/ext/ext.c                       | 47 ++++++++++++++++++++++------
 kernel/sched/ext/idle.c                      |  4 ++-
 tools/testing/selftests/sched_ext/numa.bpf.c | 13 +++++++-
 4 files changed, 58 insertions(+), 16 deletions(-)

--
tejun