scx-upstream/scheds/rust
David Vernet 87aa86845d
rusty: Refactor + slightly improve wake_sync
Right now, the SCX_WAKE_SYNC logic in rusty is very primitive. We only check to
see if the waker CPU's runqueue is empty, and then migrate the wakee there if
so. We'll want to expand this to be more thorough, such as:

- Checking to see if prev_cpu and waker_cpu share the same LLC when determining
  where to migrate
- Check for whether SCX_WAKE_SYNC migration helps load imbalance between cores
- ...

Right now all of that code is just a big blob in the middle of
rusty_select_cpu(). Let's pull it into its own function to improve readability,
and also add some logic to stay on prev_cpu if it shares an LLC with the waker.

Signed-off-by: David Vernet <void@manifault.com>
2024-06-17 14:24:29 -05:00
..
scx_lavd scx_lavd: add the design of core compaction 2024-06-14 11:53:52 +09:00
scx_layered scx_layered: Several fixes to address David's review 2024-06-10 11:23:37 -10:00
scx_mitosis common: Add css iter forward declares 2024-06-12 15:02:48 -07:00
scx_rlfifo scx: Unify loading and running boilerplate across rust schedulers 2024-06-03 12:25:41 -10:00
scx_rustland scx_rustland: never use a time slice that exceeds the default value 2024-06-06 17:56:23 +02:00
scx_rusty rusty: Refactor + slightly improve wake_sync 2024-06-17 14:24:29 -05:00
meson.build scheds: Add scx_mitosis scheduler 2024-06-11 10:34:53 -07: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