]> www.infradead.org Git - users/jedix/linux-maple.git/commit
PM: EM: Add min/max available performance state limits
authorLukasz Luba <lukasz.luba@arm.com>
Wed, 30 Oct 2024 16:39:51 +0000 (16:39 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 4 Nov 2024 22:00:47 +0000 (23:00 +0100)
commit5609296750afd6462a4d994b6803ccc5e8bf1d4e
tree897119adf8bc9050f354368b5873c201184f4c35
parent59b723cd2adbac2a34fc8e12c74ae26ae45bf230
PM: EM: Add min/max available performance state limits

On some devices there are HW dependencies for shared frequency and voltage
between devices. It will impact Energy Aware Scheduler (EAS) decision,
where CPUs share the voltage & frequency domain with other CPUs or devices
e.g.
 - Mid CPUs + Big CPU
 - Little CPU + L3 cache in DSU
 - some other device + Little CPUs

Detailed explanation of one example:
When the L3 cache frequency is increased, the affected Little CPUs might
run at higher voltage and frequency. That higher voltage causes higher CPU
power and thus more energy is used for running the tasks. This is
important for background running tasks, which try to run on energy
efficient CPUs.

Therefore, add performance state limits which are applied for the device
(in this case CPU). This is important on SoCs with HW dependencies
mentioned above so that the Energy Aware Scheduler (EAS) does not use
performance states outside the valid min-max range for energy calculation.

Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
Link: https://patch.msgid.link/20241030164126.1263793-2-lukasz.luba@arm.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
include/linux/energy_model.h
kernel/power/energy_model.c