scx-upstream/scheds/rust
Ryan Wilson a76778a4ab scx_rusty: Fix BPF crash during CPU hotplug
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.
2024-10-07 11:59:36 -07:00
..
scx_bpfland scx_bpfland: rework lowlatency mode 2024-10-05 17:44:09 +02:00
scx_lavd scx_lavd: split main.bpf.c into multiple files 2024-10-05 00:25:40 +09:00
scx_layered scx_layered: Improve perf on non topo aware paths 2024-10-07 07:56:18 -07:00
scx_mitosis version: v1.0.5 2024-10-02 08:34:57 -10:00
scx_rlfifo version: v1.0.5 2024-10-02 08:34:57 -10:00
scx_rustland version: v1.0.5 2024-10-02 08:34:57 -10:00
scx_rusty scx_rusty: Fix BPF crash during CPU hotplug 2024-10-07 11:59:36 -07:00
.gitignore build: Use workspace to group rust sub-projects 2024-08-25 00:47:58 -10:00
README.md scheds: introduce scx_bpfland 2024-06-27 17:28:42 +02:00

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.

Schedulers