
With Linux 6.19 the extensible scheduler class brings improved recovery for misbehaving (e)BPF schedulers. The pull request explains:
"Improve recovery from misbehaving BPF schedulers. When a scheduler puts many tasks with varying affinity restrictions on a shared DSQ, CPUs scanning through tasks they cannot run can overwhelm the system, causing lockups. Bypass mode now uses per-CPU DSQs with a load balancer to avoid this, and hooks into the hardlockup detector to attempt recovery. Add scx_cpu0 example scheduler to demonstrate this scenario."
The sched_ext code also adds lockless peek operation for DSOs to reduce locking contention for schedulers, preparations for hierarchical scheduler support, and a variety of fixes.
More details on these sched_ext improvements in Linux 6.19 via the Git merge .