mirror of
https://github.com/sched-ext/scx.git
synced 2024-11-28 21:50:23 +00:00
e10f8a2d8e
Provide a way to set a different time slice per-task, by adding a new attribute slice_ns to the DispatchedTask struct. This attribute determines the time slice assigned to the task, if it is set to 0 then the global time slice (either the default one or the effective one, if set) will be used. At the same time, remove the payload attribute, that is basically unused (scx_rustland uses it to send the task's vruntime to the BPF dispatcher for debugging purposes, but it's not very useful anymore at this point). In the future we may introduce a proper interface to attach a custom payload to each task with a proper interface. 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.