3

The BPF extensible scheduler class

 1 year ago
source link: https://lwn.net/Articles/916291/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

The BPF extensible scheduler class

[Posted November 30, 2022 by corbet]
It was only a matter of time before somebody found a way to inject BPF into the CPU scheduler. This patch series, posted by Tejun Heo and containing work by David Vernet, Josh Don, and Barret Rhoden, does exactly that. The cover letter covers the motivation behind this work in detail:
One of our main goals was to lower the barrier to entry for experimenting with the scheduler. sched_ext provides ergonomic callbacks and helpers to ease common operations such as managing idle CPUs, scheduling tasks on arbitrary CPUs, handling preemptions from other scheduling classes, and more. While sched_ext does require some ramp-up, the complexity is self-contained, and the learning curve gradual. Developers can ramp up by first implementing simple policies such as global FIFO in only tens of lines of code, and then continue to learn the APIs and building blocks available with sched_ext as they build more featureful and complex schedulers.

There is a bit more documentation in this patch.


(Log in to post comments)

The BPF extensible scheduler class

Posted Nov 30, 2022 13:25 UTC (Wed) by dullfire (subscriber, #111432) [Link]

I first read "featureful" as "fearful". Upon further reflection, I suspect this will often (but not always) be an acceptable substitution.

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK