News: 0001596705

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Sched_EXT With Linux 6.19 Improves Recovering For Misbehaving eBPF Schedulers

([Linux Kernel] 30 Minutes Ago sched_ext)


The Linux kernel's innovative [1]sched_ext code for being able to easily write extensible task schedulers using eBPF programs has some nice enhancements merged for Linux 6.19.

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 [2]the Git merge .



[1] https://www.phoronix.com/search/sched_ext

[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=02baaa67d9afc2e56c6e1ac6a1fb1f1dd2be366f



Here I am again right where I know I shouldn't be
I've been caught inside this trap too many times
I must've walked these steps and said these words a
thousand times before
It seems like I know everybody's lines.
-- David Bromberg, "How Late'll You Play 'Til?"