I bet (as does TFA) that this is mostly targeted towards dedicated gaming devices. Schedulers are very workload specific, once the basics are in place.
The core framework (sched_ext) was written for general workloads and can quite beneficial. It lowers the costs of creating and iterating on schedulers quite a bit.
To be honest, when they started working on it I don’t think any of us expected for it to be a source of collaboration with gaming companies :)
It may do, but the CFS scheduler is really good for generic purposes, and the new replacement for it, EEVDF, that became default in a recent kernel, does even better.
What I think is more interesting in this project is it's one of the first "real world" uses of sched_ext, https://lwn.net/Articles/922405/, which makes it trivial to build and experiment with new schedulers. It'll be interesting to see what will come out of the research opportunities this now provides.
If your general workload has no humans involved maybe. Trying to do anything interactive while also running something CPU intensive is very much a poor experience on Linux compared to osx and Windows. Using nice and cgroups help but are ultimately unable to fully solve the issues.
True. I tend to shove stuff in to cgroups and adjust niceness to compensate, so e.g. slack and email client are both lower priority and cpu restricted.
Of course. You can't do anything fundamentally in Rust that you couldn't do in C or C++ or Assembly. You can just do it a lot easier and with fewer bugs.
I think Rust+C is way more effective (and by that i mean easy to write) than Rust or C alone, and i would bet that "Rust-written" in the title really mean "Rust+C".
Note: Phoronix incorrectly reported this as a rust scheduler. There's a very small user space component written in rust, but the vast majority of the actual scheduling logic is written in C (i.e. as the BPF program) which runs in kernel space: https://github.com/sched-ext/scx/blob/main/scheds/rust/scx_l...
20 comments
[ 3.5 ms ] story [ 46.5 ms ] threadTo be honest, when they started working on it I don’t think any of us expected for it to be a source of collaboration with gaming companies :)
(I’m a middle manager at Meta)
What I think is more interesting in this project is it's one of the first "real world" uses of sched_ext, https://lwn.net/Articles/922405/, which makes it trivial to build and experiment with new schedulers. It'll be interesting to see what will come out of the research opportunities this now provides.
2 days ago: https://news.ycombinator.com/item?id=40084335
Edit: oh interestingly enough this one is the post from 3 days ago that has been moved again to the front page with a reset on the submission time.
C 91.3%
Rust 8.1%
Other 0.6%
Yes, it can be done in C and C++.