scx/scheds/rust/scx_rustland
Andrea Righi d67dfe50f9 scx_rustland: treat the CPU running the user-space scheduler as idle
Considering the CPU where the user-space scheduler is running as busy
doesn't really provide any benefit, since the user-space scheduler is
constantly dispatching an amount of tasks equal to the amount of idle
CPUs and then yields (therefore its own CPU should be considered idle).

Considering the CPU where the user-space scheduler is running as busy
doesn't provide any benefit, as the scheduler consistently dispatches
tasks equal to the number of idle CPUs and then yields (therefore its
own CPU should be considered idle).

This also allows to reduce the overall user-space scheduler CPU
utilization, especially when the system is mostly idle, without
introducing any measurable performance regression.

Measuring the average CPU utilization of a (mostly) idle system over a
time period of 60 sec:

 - wihout this patch: 5.41% avg cpu util
 - with this patch:   2.26% avg cpu util

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
2023-12-29 21:14:58 +01:00
..
src scx_rustland: treat the CPU running the user-space scheduler as idle 2023-12-29 21:14:58 +01:00
.gitignore scx_rustland: rename from scx_rustlite 2023-12-22 00:20:14 +01:00
build.rs scx_rustland: rename from scx_rustlite 2023-12-22 00:20:14 +01:00
Cargo.toml scx_rustland: rename from scx_rustlite 2023-12-22 00:20:14 +01:00
LICENSE scx_rustland: rename from scx_rustlite 2023-12-22 00:20:14 +01:00
meson.build scx_rustland: rename from scx_rustlite 2023-12-22 00:20:14 +01:00
rustfmt.toml scx_rustland: rename from scx_rustlite 2023-12-22 00:20:14 +01:00