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

app scx_rlfifo

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

6 releases (stable)

new 1.0.4 Sep 7, 2024
1.0.3 Aug 21, 2024
1.0.1 Jul 15, 2024
0.0.3 Jun 3, 2024

#376 in Unix APIs

Download history 169/week @ 2024-06-01 15/week @ 2024-06-08 3/week @ 2024-06-15 241/week @ 2024-07-13 10/week @ 2024-07-20 84/week @ 2024-08-03 17/week @ 2024-08-10 132/week @ 2024-08-17 11/week @ 2024-08-24

244 downloads per month

GPL-2.0-only

22KB
134 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

~27–39MB
~633K SLoC