scx/scheds/rust
Andrea Righi 802d104b46 scx_bpfland: add basic cpufreq support
Add hints for the cpufreq governor based on the selected scheduler's
performance profile and the current energy performance preference (EPP).

With this change applied the scheduler works as following:

scheduler profile (--primary-domain option):
  - default:
    - use all cores
    - cpufreq: use default scaling factor
  - powersave:
    - use E-cores
    - cpufreq: use min scaling factor
  - performance:
    - use P-cores
    - cpufreq: use max scaling factor
  - auto:
    - EPP: power, powersave
      - use E-cores
      - cpufreq: use min scaling factor
    - EPP: balance_power (typically battery-powered systems)
      - use E-cores
      - cpufreq: use default scaling factor
    - EPP: balance_performance, performance
      - use P-cores
      - cpufreq: use max scaling factor

Signed-off-by: Andrea Righi <andrea.righi@linux.dev>
2024-09-03 09:59:29 +02:00
..
scx_bpfland scx_bpfland: add basic cpufreq support 2024-09-03 09:59:29 +02:00
scx_lavd scx_lavd: make the old verifier happy (bpf_cpumask_set_cpu) 2024-09-02 18:00:12 +09:00
scx_layered scx_layered: Fix layer timeslice not being applied 2024-08-30 11:53:42 -07:00
scx_mitosis scx_lavd, scx_mitosis, scx_rusty: Add comma for grammatical consistency 2024-08-26 13:06:58 -04:00
scx_rlfifo scx_rustland_core: bump up major version to 2.0.0 2024-08-31 23:23:26 +02:00
scx_rustland scx_rustland: aggressively prioritize interactive tasks 2024-09-02 15:53:35 +02:00
scx_rusty scx_lavd, scx_mitosis, scx_rusty: Add comma for grammatical consistency 2024-08-26 13:06:58 -04: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 major version to 2.0.0 2024-08-31 23:23:26 +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