mirror of
https://github.com/JakeHillion/scx.git
synced 2024-12-03 22:37:11 +00:00
2ac1a5924f
Introduce a wrapper to scx_utils::BpfBuilder that can be used to build the BPF component provided by scx_rustland_core. The source of the BPF components (main.bpf.c) is included in the crate as an array of bytes, the content is then unpacked in a temporary file to perform the build. The RustLandBuilder() helper is also used to generate bpf.rs (that implements the low-level user-space Rust connector to the BPF commponent). Schedulers based on scx_rustland_core can simply use RustLandBuilder(), to build the backend provided by scx_rustland_core. Signed-off-by: Andrea Righi <andrea.righi@canonical.com> |
||
---|---|---|
.. | ||
src | ||
.gitignore | ||
build.rs | ||
Cargo.toml | ||
LICENSE | ||
meson.build | ||
README.md | ||
rustfmt.toml |
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.