scx/scheds/rust
Andrea Righi e1f2b3822e scx_rustland_core: drop CPU ownership API
The API for determining which PID is running on a specific CPU is racy
and is unnecessary since this information can be obtained from user
space.

Additionally, it's not reliable for identifying idle CPUs.  Therefore,
it's better to remove this API and, in the future, provide a cpumask
alternative that can export the idle state of the CPUs to user space.

As a consequence also change scx_rustland to dispatch one task a time,
instead of dispatching tasks in batches of idle cores (that are usually
not accurate due to the racy nature of the CPU ownership interaface).

Dispatching one task at a time even makes the scheduler more performant,
due to the vruntime scheduling being applied to more tasks sitting in
the scheduler's queue.

Signed-off-by: Andrea Righi <andrea.righi@linux.dev>
2024-08-07 08:41:06 +02:00
..
scx_bpfland scx_rustland_core: refactor idle CPU selection logic 2024-08-07 08:10:53 +02:00
scx_lavd scx_lavd: Make FlatTopology::new() a bit prettier 2024-08-04 11:16:19 -10:00
scx_layered scx_layered: Add support for disabling topology awareness 2024-08-02 08:07:19 -07:00
scx_mitosis Bump versions for 1.0.1 release 2024-07-15 13:21:52 -10:00
scx_rlfifo scx_rustland_core: drop CPU ownership API 2024-08-07 08:41:06 +02:00
scx_rustland scx_rustland_core: drop CPU ownership API 2024-08-07 08:41:06 +02:00
scx_rusty Revert "rusty: Rework deadline as a signed sum" 2024-07-25 14:50:45 -05:00
meson.build Sync from kernel - 1edab907b57d 2024-07-12 11:08:41 -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