By Akshit Gaur on Thursday, April 2, 2026 Hello everyone! I’m Akshit Gaur. I am currently working on modernizing the process scheduling subsystem for Redox OS, a project graciously funded through the Redox Summer of Code program TL;DR We have replaced the legacy Round Robin scheduler with a Deficit Weighted Round Robin scheduler. Due to this, we finally have a way of assigning different priorities to our Process contexts. When running under light load, you may not notice any difference, but under heavy load the new scheduler outperforms the old one (eg. ~150 FPS gain in the pixelcannon 3D Redox demo, and ~1.5x gain in operations/sec for CPU bound tasks and a similar improvement in responsiveness too (measured through schedrs)) Round Robin Scheduler Redox OS currently uses a simple Round Robin Scheduler (RR). Imagine you are sitting at a bar with a few of your friends, the bar has all drinks free for tonight, and as a result the bar is understaffed with the number of bartenders significantly less than the customers. The bartenders start from the left, serve the customer, and move to their right. Some patrons drink slowly and may still have a drink when the bartender returns. As a result, even though not everyone needs a new drink each time, bartenders must still check with them, which introduces inefficiency into the system. This system works well enough, customers wait for a while, but everybody waits for the same time, and everyone is happy, or at least equally unhappy. Unfortunately for these bartenders, a local politician, with quite a short temper and a very large ego, happens to be one of the customers today. If these poor batenders follow their usual protocol and treat the VIP in the same way as the rest, he will sigterm their employment, but bound by the protocol they have no choice but move in a loop seeing the VIP boil in rage. In an Operating System, that VIP customer is a high priority I/O bound interactive process (like your audio stack, where even the s...
First seen: 2026-04-07 22:12
Last seen: 2026-04-07 23:12