scx/scheds/rust
Andrea Righi a31bcc6847 scx_rustland: maximize CPU utilization
Always dispatch at least one task, even if all the CPUs are busy.

This small overcommitment allows to maximize the CPU utilization without
introducing bubbles in the scheduling and also without introducing
regressions in terms of resposiveness.

Before this change the average CPU utilization of a `stress-ng -c 8` on
an 8-cores system is around 95%. With this change applied the CPU
utilization goes up to a consistent 100%.

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2024-05-11 16:23:12 +02:00
..
scx_lavd scdx_lavd: minor style changes 2024-05-10 11:07:32 +09:00
scx_layered scheds/rust: Use __COMPAT helpers instead of open coding feature tests 2024-04-29 09:58:34 -10:00
scx_rlfifo scx_rustland_core: use a BPF_MAP_TYPE_USER_RINGBUF to dispatch tasks 2024-05-08 22:16:53 +02:00
scx_rustland scx_rustland: maximize CPU utilization 2024-05-11 16:23:12 +02:00
scx_rusty rusty: Remove task offline tracking 2024-05-04 21:33:55 -05:00
meson.build scheds-rust: add explanation for chaining schedulers 2024-04-23 08:30:38 +08:00
README.md scx_lavd: add scx_lavd (Latency-criticality Aware Virtual Deadline) scheduler 2024-03-16 10:31:07 +09: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