#userspace #linux-kernel #scheduler #fifo #ebpf #thread-scheduling

app scx_rlfifo

A simple FIFO scheduler in Rust that runs in user-space

19 stable releases

1.0.19 Dec 2, 2025
1.0.18 Nov 11, 2025
1.0.16 Sep 5, 2025
1.0.14 Jul 8, 2025
0.0.3 Jun 3, 2024

#601 in Unix APIs

GPL-2.0-only

25KB
118 lines

scx_rlfifo

This is a single user-defined scheduler used within sched_ext, which is a Linux kernel feature which enables implementing kernel thread schedulers in BPF and dynamically loading them. Read more about sched_ext.

Overview

scx_rlfifo is a simple Round-Robin scheduler runs in user-space, based on the scx_rustland_core framework. It dequeues tasks in FIFO order and assigns dynamic time slices, preempting and re-enqueuing tasks to achieve basic Round-Robin behavior.

Typical Use Case

This scheduler is provided as a simple template that can be used as a baseline to test more complex scheduling policies.

Production Ready?

Definitely not. Using this scheduler in a production environment is not recommended, unless there are specific requirements that necessitate a basic FIFO scheduling approach. Even then, it's still recommended to use the kernel's SCHED_FIFO real-time class.

Dependencies

~33–51MB
~772K SLoC