[PATCH 0/3] pmdomain: Improve idlestate selection for CPUs

Ulf Hansson
2025-10-03T15:03:11Z

Platforms using the genpd governor for CPUs are relying on it to find the most
optimal idlestate for a group of CPUs. Although, observations tells us that
there are some significant improvement that can be made around this.

These improvement are based upon allowing us to take pending IPIs into account
for the group of CPUs that the genpd governor is in control of. If there is
pending IPI for any of these CPUs, we should not request an idlestate that
affects the group, but rather pick a shallower state that affects only the CPU.

More details are available in the commit messages for each patch.

Kind regards
Ulf Hansson

Ulf Hansson (3):
smp: Introduce a weak helper function to check for pending IPIs
arm64: smp: Implement cpus_has_pending_ipi()
pmdomain: Extend the genpd governor for CPUs to account for IPIs

arch/arm64/kernel/smp.c | 20 ++++++++++++++++++++
drivers/pmdomain/governor.c | 20 +++++++++++++-------
include/linux/smp.h | 5 +++++
kernel/smp.c | 18 ++++++++++++++++++
4 files changed, 56 insertions(+), 7 deletions(-)

--
2.43.0