scx-upstream/scheds/rust
Dan Schatzberg 3b6e2dee20 scheds: Add scx_mitosis scheduler
scx_mitosis is a dynamic affinity scheduler which assigns cgroups to
Cells and Cells to discrete sets of CPUs. The number of cells is dynamic
as is the CPU assignment. BPF mostly just does vtime scheduling for each
cell, tracks load, and responds to reconfiguration from userspace.
Userspace makes decisions about how to assign cgroups to cells and cells
to cpus.

This is not yet a complete scheduler, much of the userspace logic is a
placeholder as I experiment with better logic. I also want to add richer
scheduling semantics to userspace, e.g. so that cells can do more
"soft-affinity" rather than the strict partitioning implemented
currently.

Signed-off-by: Dan Schatzberg <schatzberg.dan@gmail.com>
2024-06-11 10:34:53 -07:00
..
scx_lavd scx: Unify loading and running boilerplate across rust schedulers 2024-06-03 12:25:41 -10:00
scx_layered scx_layered: Fix load failure due to scheduler_tick() -> sched_tick() rename 2024-06-06 12:54:59 -10:00
scx_mitosis scheds: Add scx_mitosis scheduler 2024-06-11 10:34:53 -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 scx: Unify loading and running boilerplate across rust schedulers 2024-06-03 12:25:41 -10: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