scx-upstream/scheds/rust
Jake Hillion 52c279a469 layered: make default value for disable_topology dynamic
Disable topology currently defaults to `false` (topology enabled...). Change
this so that topology is enabled by default on hardware that may benefit from
it (multiple NUMA nodes or LLCs) and disabled on hardware that does not benefit
from it.

This is a slightly noisy change as we have to move ownership of the newly
mutable layer specs into the `Scheduler` object (previously they were a
borrow). We don't have a `Topology` object to make the default decision from
until `Scheduler::init`, and I think this is because of the possibility of hot
plugs. We therefore have to clone the `Vec<LayerSpec>` each time as it is
potentially mutable.

Test plan:
- CI. Updated to be explicit about topology in both cases.

Single NUMA multi-LLC machine:
```
$ scx_layered --run-example
...
13:34:01 [INFO] Topology awareness not specified, selecting enabled based on
hardware
...
$ scx_layered --run-example --disable-topology=true
...
13:33:41 [INFO] Disabling topology awareness
...
$ scx_layered --run-example -t
...
13:33:15 [INFO] Disabling topology awareness
...
$ scx_layered --run-example --disable-topology=false
# none of the above messages present
```

Single NUMA single LLC machine:
```
$ scx_layered --run-example
15:33:10 [INFO] Topology awareness not specified, selecting disabled based on
hardware
```
2024-10-11 17:09:07 +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: make default value for disable_topology dynamic 2024-10-11 17:09:07 +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