linux/kernel/sched/ext
Linus Torvalds db7afcbf9e 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.
 -----BEGIN PGP SIGNATURE-----
 
 iIQEABYKACwWIQTfIjM1kS57o3GsC/uxYfJx3gVYGQUCatACow4cdGpAa2VybmVs
 Lm9yZwAKCRCxYfJx3gVYGdEvAP4tfwuDqRpiVDU/69SdALuWdObKorErLg/6uTxE
 53qODgEA4Vvao1ZtcxzF3Fd+umA13UgiJ8WBxX66XJDMaxXtiAo=
 =LtsB
 -----END PGP SIGNATURE-----

Merge tag 'sched_ext-for-7.3-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext

Pull sched_ext fixes from Tejun Heo:

 - 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.

* tag 'sched_ext-for-7.3-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext:
  sched_ext: Wait for SCX_OPSS_DISPATCHING before moving tasks off DSQs
  sched_ext: Rename scx_reenq_wait_dispatching() to scx_wait_dispatching()
  sched_ext: idle: Respect task affinity in restricted CPU selection
  sched_ext: Fix the bypass dispatch claim for schedulers bypassed by an ancestor
  sched_ext: Propagate every bypass depth change to the descendants
  sched_ext: Fix use-after-free of a destroyed user DSQ by a deferred reenqueue
  sched_ext: Fix stall when a task enqueued with SCX_ENQ_LAST lands back on its CPU's local DSQ
2026-10-14 15:58:16 -07:00
..
arena.c sched_ext: Pass kernel arena pointers to ops_cid callbacks 2026-08-12 09:55:33 -10:00
arena.h
cid.c sched_ext: Fixes for v7.3-rc4 2026-09-27 08:50:25 -07:00
cid.h sched_ext: Gate cid kfuncs behind the SCX struct_ops check 2026-08-12 08:29:15 -10:00
ext.c sched_ext: Fixes for v7.3-rc7 2026-10-14 15:58:16 -07:00
ext.h
idle.c sched_ext: idle: Respect task affinity in restricted CPU selection 2026-10-12 08:42:13 -10:00
idle.h
inlines.h sched_ext: Fix CPU hotplug hang when a dying CPU's tasks sit in the BPF scheduler 2026-09-28 06:37:08 -10:00
internal.h sched_ext: Rename scx_reenq_wait_dispatching() to scx_wait_dispatching() 2026-10-13 09:54:41 -10:00
sub.c sched_ext: Fixes for v7.3-rc7 2026-10-14 15:58:16 -07:00
sub.h sched_ext: Add bandwidth-limited rescue execution for stranded tasks 2026-08-03 11:01:29 -10:00
types.h sched_ext: Add a size argument to scx_bpf_cid_topo() so struct scx_cid_topo can grow 2026-09-26 10:09:12 -10:00