mirror of
https://github.com/sched-ext/scx.git
synced 2024-11-28 21:50:23 +00:00
5cf113f058
Provide distinct methods to set the target CPU and the per-task time slice to dispatched tasks. Moreover, also provide a constructor to create a DispatchedTask from a QueuedTask (this allows to automatically bounce a task from the scheduler to the BPF dispatcher without having to take care of setting the individual task's attributes). This also allows to make most of the attributes of DispatchedTask private, especially it allows to hide cpumask_cnt, that should be only used internally between the BPF and the user-space component. 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.