Rust-Written LAVD Kernel Scheduler Shows Promising Results For Linux Gaming
![LINUX GAMING](/assets/categories/linuxgaming.webp)
The Igalia presentation focused on the impact the Linux scheduler has on stuttering during gaming and then how "sched_ext" can come into play as the BPF-based extensible scheduler framework. The sched_ext effort has been interesting for many reasons for extending the kernel scheduler via (e)BPF ranging from Canonical/Ubuntu exploring its possibilities, faster prototyping of new scheduler designs, to now showing positive results for Linux gaming with a new scheduler implementation.
The Latency-criticality Aware Virtual Deadline (LAVD) scheduler was the main technical focus of Changwoo Min's presentation. This deadline-based scheduler written in Rust for sched_ext has shown promising results. The LAVD scheduler was showing better or similar performance to EEVDF in the tests carried out by Igalia atop a Linux 6.9-rc1 based kernel when looking both at the average FPS and the 1% low frame rates.
Those wishing to learn more about the LAVD scheduler exploration for Linux gaming can see the slide deck from OSS NA 2024 for those that weren't in Seattle for the conference. Those wanting to explore this LAVD scheduler can see scx_lavd on crates.io. It will be interesting to see what Valve ultimately decides to do around the scheduler for the Steam Deck / Steam OS and what further scheduler optimizations may still come about in the near-term.
40 Comments