scx-upstream/scheds/rust
Jake Hillion 143a55cda1 layered: move configuration into library component
Move the LayerConfig and its children from `main.rs` into `lib.rs`. This allows
other tooling, such as config managers or test executors, to modify layered
configs programmatically.

The end goal is to move everything in `layered` except for the argument parsing
into a `run_layered` function, but I haven't done it in this diff because it's
a larger change. This is a common pattern in Rust projects to do as little as
possible in `main.rs` for extensibility.

The only change here, other than publicity and where things are located, is the
signature of `CpuPool::alloc_cpus`. It previously relied on `&Layer`, and this
changes it to the two elements of `Layer` it uses. This allows `Layer` to stay
confined to `main.rs` (for now) to prevent scope creep in this PR.

This may be inconvenient in the short term for WIPs and anyone doing non-Cargo
builds (cough me), but having things split into more files should make
rebases/merges easier in the long run.

Test plan:
- `cargo build --release`
- CI.
2024-10-11 15:55:29 +01:00
..
scx_bpfland scx_bpfland: fix cpumask initialization error 2024-10-10 09:30:54 +02:00
scx_lavd scx_lavd: split main.bpf.c into multiple files 2024-10-05 00:25:40 +09:00
scx_layered layered: move configuration into library component 2024-10-11 15:55:29 +01:00
scx_mitosis mitosis: apply autoformatting 2024-10-09 10:56:27 -07: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 [rusty] Fix load stats when host is under-utilized 2024-10-08 21:08:07 -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