mirror of
https://github.com/sched-ext/scx.git
synced 2024-11-24 11:50:23 +00:00
a76778a4ab
When hotplugging CPUs in rapid succession, scx_rusty would crash with: ``` scx_bpf_error (Failed to lookup dom[4294967295] ``` The root cause is if the scheduler is restarted fast enough, a task on a previously hotplugged CPU may not have moved off that CPU yet. Thus, the CPU -> domain map would contain an invalid domain (u32::max) and we would fail to lookup the domain correctly in rusty_select_cpu for prev_cpu. To fix this, if the CPU is offline, we do not try to allocate to the same NUMA node (assuming hotplug is a rare operation) beyond domestic domain. Instead we use greedy allocation - first idle, then busy - then any CPU. |
||
---|---|---|
.. | ||
scx_bpfland | ||
scx_lavd | ||
scx_layered | ||
scx_mitosis | ||
scx_rlfifo | ||
scx_rustland | ||
scx_rusty | ||
.gitignore | ||
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.