Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Good overview, but missing any discussion (that I could see) of how non-SCHED_OTHER scheduling classes (such as SCHED_FIFO and SCHED_RR) interact with "normal" scheduling. The rules described here (e.g. "the task that has run least runs next") do not apply to tasks in these scheduling classes.


I've found "Challenges Using Linux as a Real-Time Operating System" by Michael M. Madden from NASA a really big help - https://ntrs.nasa.gov/api/citations/20200002390/downloads/20....


Thank you for this material!


My understanding is that they don't. Realtime tasks have strict priority over non realtime tasks. As long as there are runnable rt task the kernel won't schedule any other task.

At least that's the theory. I think these days the kernel reserves (optionally?) 5% cpu to non rt tasks, enough to run a shell and kill a runaway rt process.


> I think these days the kernel reserves (optionally?) 5% cpu to non rt tasks

That is the default setting (documentation [0]).

[0] https://docs.kernel.org/scheduler/sched-rt-group.html


Correct on all counts. But there is also the difference between SCHED_FIFO and SCHED_RR to be covered.


Yes, you're right. I preferred to not cover too much topics on the same blog, but that's a good idea as other people said here. Thank you.


You're right. The journey is introductory on basic scheduling concepts and focuses on the SCHED_NORMAL. That rule as I written is valid for the CFS.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: