scx/scheds/rust
Andrea Righi 918cfc613d scx_bpfland: optimize producer/consumer workloads
When selecting an idle CPU for a task that has been woken up, prioritize
reusing the same CPU if the waker and wakee share the same L3 cache.

Otherwise, attempt to migrate the wakee to the waker's CPU, provided it
is allowed by the wakee's scheduling domain.

This seems to consistently improve FPS performance when the system is
not operating over its full capacity.

Example:
 $ __GL_SYNC_TO_VBLANK=0 vblank_mode=0 glxgears -geometry 800x600

 - before: ~18305.77 FPS
 - after:  ~19060.62 FPS

Signed-off-by: Andrea Righi <andrea.righi@linux.dev>
2024-09-05 19:02:09 +02:00
..
scx_bpfland scx_bpfland: optimize producer/consumer workloads 2024-09-05 19:02:09 +02:00
scx_lavd meson: Remove scheds/rust/*/meson.build 2024-09-04 06:40:17 -10:00
scx_layered scx_layered: Fix stats formatting 2024-09-05 06:44:54 -04:00
scx_mitosis meson: Remove scheds/rust/*/meson.build 2024-09-04 06:40:17 -10:00
scx_rlfifo meson: Remove scheds/rust/*/meson.build 2024-09-04 06:40:17 -10:00
scx_rustland meson: Remove scheds/rust/*/meson.build 2024-09-04 06:40:17 -10:00
scx_rusty meson: Remove scheds/rust/*/meson.build 2024-09-04 06:40:17 -10:00
.gitignore build: Use workspace to group rust sub-projects 2024-08-25 00:47:58 -10:00
Cargo.lock scx_rustland_core: bump up version to 2.0.1 2024-09-04 08:00:25 +02:00
Cargo.toml build: Use workspace to group rust sub-projects 2024-08-25 00:47:58 -10:00
meson.build 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