mirror of
https://github.com/JakeHillion/scx.git
synced 2024-11-26 19:30:24 +00:00
1ce23760b5
- AFFN_VIOL for per-cpu tasks could be double counted. Once in select_cpu() and again in enqueue(). Count in select_cpu() only when direct dispatching. - Violating tasks were prioritized over non-violating ones because they were queued on SCX_DSQ_GLOBAL which has priority over all user DSQs. This doesn't make sense. Let's introduce two fallback DSQs - HI_FALLBACK_DSQ and LO_FALLBACK_DSQ. HI is used for violating kthreads and LO for violating user threads. HI is dispatched after preempting layers and LO after all other layers. This shouldn't change the behavior too much for kthreads while punshing, rather than rewarding, violating user threads. (cherry picked from commit 67f69645667ba8a155cae9a9b7e90c055d39e23c) |
||
---|---|---|
.. | ||
scx_lavd | ||
scx_layered | ||
scx_rlfifo | ||
scx_rustland | ||
scx_rusty | ||
meson.build | ||
README.md |
RUST SCHEDULERS
Introduction
This directory contains schedulers with user space rust components.
The README in each scheduler directory provides some background and describes the types of workloads or scenarios they're designed to accommodate. For more details on any of these schedulers, please see the header comment in their main.rs or *.bpf.c files.