The BPF extensible scheduler class
It was only a matter of time before somebody found a way to inject BPF intothe CPU scheduler. This patchseries, posted by Tejun Heo and containing work by David Vernet, JoshDon, and Barret Rhoden, does exactly that. The cover letter covers themotivation behind this work in detail:
One of our main goals was to lower the barrier to entry forexperimenting with the scheduler. sched_ext provides ergonomiccallbacks and helpers to ease common operations such as managingidle CPUs, scheduling tasks on arbitrary CPUs, handling preemptionsfrom other scheduling classes, and more. While sched_ext doesrequire some ramp-up, the complexity is self-contained, and thelearning curve gradual. Developers can ramp up by firstimplementing simple policies such as global FIFO in only tens oflines of code, and then continue to learn the APIs and buildingblocks available with sched_ext as they build more featureful andcomplex schedulers.
There is a bit more documentation in thispatch.