A sched-ext scheduler in Rust that prioritizes interactive workloads
scx_rustland is Linux scheduler made of a BPF component (dispatcher) that implements the low level sched-ext functionalities and a user-space counterpart (scheduler), written in Rust, that implements the actual scheduling policy.
In order to use scx_rustland you need to install the latest Ubuntu kernel from this ppa:
https://launchpad.net/~arighi/+archive/ubuntu/sched-ext
Please ensure that the following interfaces are connected to grant the scheduler complete resource access:
sudo snap connect scx-rustland:process-control
sudo snap connect scx-rustland:system-observe
sudo snap connect scx-rustland:system-trace
Also make sure that compaction kthread does not reclaim unevictable memory to improve scheduler's stability:
echo 0 | sudo tee /proc/sys/vm/compact_unevictable_allowed
The scheduler is designed to prioritize interactive workloads over background CPU-intensive workloads. For this reason the typical use case involves low-latency interactive applications, such as gaming, video conferencing and live streaming.