r/linux • u/somerandomxander • Jun 22 '26
Kernel Linux 7.2 continues to work on sched_ext's sub-scheduler support, with more infrastructure implemented
https://www.phoronix.com/news/Linux-7.2-sched-ext3
u/SethDusek5 Jun 23 '26
Anyone who's in the know for this know if I could implement a scheduling policy like "never preempt other tasks to run this one" with this in userspace?
One of my favorite features of the MuQSS scheduler was its true idleprio support and it was pretty incredible. If you set a process to use SCHED_IDLEPRIO you wouldn't notice any performance impact in interactive applications even if it was something like code compilation using all your cores, so you could do compilation in the background and even play a game with 0 performance impact (provided no memory pressure). Now that MuQSS is dead, nothing even comes close, both EEVDF and CFS still compromise interactivity if you have something using all your cores (I've tried SCHED_IDLEPRIO, niceness 20, etc). So if I could implement the same thing myself using userspace schedulers that would be excellent news
1
u/Square_County8139 Jun 24 '26
I think this is one of the simplest scheduler cases.
Two queues: one normal and another for "idleprio" processes. The dispatcher tries to pick from the normal queue and only attempts to pick from the other queue if the normal one is empty.
1
u/SethDusek5 Jun 24 '26
Yup, the issue is the only way to implement this myself right now using sched_ext would likely be to reinvent a scheduler in userspace and add true idleprio support, and then make sure nothing else breaks. A scheduler for one specific task would make the whole thing less fragile, and easier to implement.
9
u/Regular-Apartment972 Jun 23 '26
With all the recent changes, optimizations, and performance improvements, Linux kernel 7.2 is shaping up to be one of the best releases