scx-upstream/scheds/rust
Andrea Righi e6b624a97c scx_rustland_core: improve idle CPU selection API and logic
Pass enqueue flags to user-space: flags will be passed via
QueuedTask.flags and can be forwarded back to BPF via
DispatchedTask.flags.

These flags can be also passed to BpfScheduler.select_cpu() to apply a
more refined CPU selection policy.

Moreover, avoid to prioritize the user-space scheduler too much and
dispatch it only if there are no other tasks that needs to be dispatched
in ops.dispatch().

This improves CPU utilization and enhances the fairness, robustness, and
resilience of schedulers based on scx_rustland_core, particularly under
stress test conditions.

Signed-off-by: Andrea Righi <andrea.righi@linux.dev>
2024-09-16 22:12:38 +02:00
..
scx_bpfland lint: enable cargo fmt (#643) 2024-09-11 10:03:20 +01:00
scx_lavd scx_lavd: boost the latency critility of kernel threads 2024-09-14 00:41:02 +09:00
scx_layered Merge pull request #648 from hodgesds/layered-llc-stats 2024-09-12 13:23:23 -04:00
scx_mitosis version: v1.0.4 2024-09-05 18:12:45 -10:00
scx_rlfifo scx_rustland_core: improve idle CPU selection API and logic 2024-09-16 22:12:38 +02:00
scx_rustland scx_rustland_core: improve idle CPU selection API and logic 2024-09-16 22:12:38 +02:00
scx_rusty lint: enable cargo fmt (#643) 2024-09-11 10:03:20 +01: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