linux/kernel/power
Lukasz Luba 5609296750 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>
2024-11-04 23:00:47 +01:00
..
autosleep.c
console.c
energy_model.c PM: EM: Add min/max available performance state limits 2024-11-04 23:00:47 +01:00
hibernate.c PM: hibernate: Use sysfs_emit() and sysfs_emit_at() in "show" functions 2024-08-02 16:03:51 +02:00
Kconfig PM: hibernate: Add support for LZ4 compression for hibernation 2024-02-05 14:30:35 +01:00
main.c PM: sleep: Use sysfs_emit() and sysfs_emit_at() in "show" functions 2024-08-02 16:03:51 +02:00
Makefile
power.h PM: hibernate: Don't ignore return from set_memory_ro() 2024-02-22 20:08:03 +01:00
poweroff.c tty: sysrq: switch sysrq handlers from int to u8 2023-07-25 19:21:03 +02:00
process.c cgroup/cpuset: Make cpuset hotplug processing synchronous 2024-04-08 07:39:16 -10:00
qos.c PM: QoS: Add check to make sure CPU latency is non-negative 2023-08-22 21:37:29 +02:00
snapshot.c PM: hibernate: Remove unused stub for saveable_highmem_page() 2024-09-10 20:11:40 +02:00
suspend_test.c rtc: class: make rtc_class constant 2024-03-08 12:05:10 +01:00
suspend.c PM: s2idle: Make sure CPUs will wakeup directly on resume 2024-04-08 15:36:54 +02:00
swap.c mm: remove the implementation of swap_free() and always use swap_free_nr() 2024-07-03 19:30:01 -07:00
user.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
wakelock.c