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

app scx_rlfifo

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

9 stable releases

1.0.8 Dec 16, 2024
1.0.7 Dec 6, 2024
1.0.6 Nov 6, 2024
1.0.5 Oct 2, 2024
0.0.3 Jun 3, 2024

#208 in Unix APIs

Download history 24/week @ 2024-09-13 2/week @ 2024-09-20 150/week @ 2024-09-27 36/week @ 2024-10-04 12/week @ 2024-10-11 98/week @ 2024-11-01 19/week @ 2024-11-08 5/week @ 2024-11-15 2/week @ 2024-11-22 141/week @ 2024-12-06 144/week @ 2024-12-13 17/week @ 2024-12-20 17/week @ 2024-12-27

319 downloads per month

GPL-2.0-only

20KB
112 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 FIFO scheduler runs in user-space, based on the scx_rustland_core framework.

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

~51MB
~621K SLoC