+++ /dev/null
-From e623316e9248407abf51a873d059454f62e09c17 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 11 Dec 2023 11:48:52 +0100
-Subject: energy_model: Use a fixed reference frequency
-
-From: Vincent Guittot <vincent.guittot@linaro.org>
-
-[ Upstream commit 15cbbd1d317e07b4e5c6aca5d4c5579539a82784 ]
-
-The last item of a performance domain is not always the performance point
-that has been used to compute CPU's capacity. This can lead to different
-target frequency compared with other part of the system like schedutil and
-would result in wrong energy estimation.
-
-A new arch_scale_freq_ref() is available to return a fixed and coherent
-frequency reference that can be used when computing the CPU's frequency
-for an level of utilization. Use this function to get this reference
-frequency.
-
-Energy model is never used without defining arch_scale_freq_ref() but
-can be compiled. Define a default arch_scale_freq_ref() returning 0
-in such case.
-
-Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
-Signed-off-by: Ingo Molnar <mingo@kernel.org>
-Tested-by: Lukasz Luba <lukasz.luba@arm.com>
-Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
-Link: https://lore.kernel.org/r/20231211104855.558096-5-vincent.guittot@linaro.org
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- include/linux/energy_model.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/include/linux/energy_model.h b/include/linux/energy_model.h
-index b9caa01dfac4..c19e7effe764 100644
---- a/include/linux/energy_model.h
-+++ b/include/linux/energy_model.h
-@@ -224,7 +224,7 @@ static inline unsigned long em_cpu_energy(struct em_perf_domain *pd,
- unsigned long max_util, unsigned long sum_util,
- unsigned long allowed_cpu_cap)
- {
-- unsigned long freq, scale_cpu;
-+ unsigned long freq, ref_freq, scale_cpu;
- struct em_perf_state *ps;
- int cpu;
-
-@@ -241,11 +241,11 @@ static inline unsigned long em_cpu_energy(struct em_perf_domain *pd,
- */
- cpu = cpumask_first(to_cpumask(pd->cpus));
- scale_cpu = arch_scale_cpu_capacity(cpu);
-- ps = &pd->table[pd->nr_perf_states - 1];
-+ ref_freq = arch_scale_freq_ref(cpu);
-
- max_util = map_util_perf(max_util);
- max_util = min(max_util, allowed_cpu_cap);
-- freq = map_util_freq(max_util, ps->frequency, scale_cpu);
-+ freq = map_util_freq(max_util, ref_freq, scale_cpu);
-
- /*
- * Find the lowest performance state of the Energy Model above the
---
-2.43.0
-
perf-core-fix-narrow-startup-race-when-creating-the-.patch
debugobjects-stop-accessing-objects-after-releasing-.patch
cpufreq-schedutil-use-a-fixed-reference-frequency.patch
-energy_model-use-a-fixed-reference-frequency.patch
regulator-core-only-increment-use_count-when-enable_.patch
audit-send-netlink-ack-before-setting-connection-in-.patch
acpi-video-add-quirk-for-the-colorful-x15-at-23-lapt.patch
+++ /dev/null
-From 8c89ad52802449d9abc85874c39b69e6a911504d Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 11 Dec 2023 11:48:52 +0100
-Subject: energy_model: Use a fixed reference frequency
-
-From: Vincent Guittot <vincent.guittot@linaro.org>
-
-[ Upstream commit 15cbbd1d317e07b4e5c6aca5d4c5579539a82784 ]
-
-The last item of a performance domain is not always the performance point
-that has been used to compute CPU's capacity. This can lead to different
-target frequency compared with other part of the system like schedutil and
-would result in wrong energy estimation.
-
-A new arch_scale_freq_ref() is available to return a fixed and coherent
-frequency reference that can be used when computing the CPU's frequency
-for an level of utilization. Use this function to get this reference
-frequency.
-
-Energy model is never used without defining arch_scale_freq_ref() but
-can be compiled. Define a default arch_scale_freq_ref() returning 0
-in such case.
-
-Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
-Signed-off-by: Ingo Molnar <mingo@kernel.org>
-Tested-by: Lukasz Luba <lukasz.luba@arm.com>
-Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
-Link: https://lore.kernel.org/r/20231211104855.558096-5-vincent.guittot@linaro.org
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- include/linux/energy_model.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/include/linux/energy_model.h b/include/linux/energy_model.h
-index b9caa01dfac4..c19e7effe764 100644
---- a/include/linux/energy_model.h
-+++ b/include/linux/energy_model.h
-@@ -224,7 +224,7 @@ static inline unsigned long em_cpu_energy(struct em_perf_domain *pd,
- unsigned long max_util, unsigned long sum_util,
- unsigned long allowed_cpu_cap)
- {
-- unsigned long freq, scale_cpu;
-+ unsigned long freq, ref_freq, scale_cpu;
- struct em_perf_state *ps;
- int cpu;
-
-@@ -241,11 +241,11 @@ static inline unsigned long em_cpu_energy(struct em_perf_domain *pd,
- */
- cpu = cpumask_first(to_cpumask(pd->cpus));
- scale_cpu = arch_scale_cpu_capacity(cpu);
-- ps = &pd->table[pd->nr_perf_states - 1];
-+ ref_freq = arch_scale_freq_ref(cpu);
-
- max_util = map_util_perf(max_util);
- max_util = min(max_util, allowed_cpu_cap);
-- freq = map_util_freq(max_util, ps->frequency, scale_cpu);
-+ freq = map_util_freq(max_util, ref_freq, scale_cpu);
-
- /*
- * Find the lowest performance state of the Energy Model above the
---
-2.43.0
-
perf-core-fix-narrow-startup-race-when-creating-the-.patch
debugobjects-stop-accessing-objects-after-releasing-.patch
cpufreq-schedutil-use-a-fixed-reference-frequency.patch
-energy_model-use-a-fixed-reference-frequency.patch
sched-fair-fix-tg-load-when-offlining-a-cpu.patch
regulator-core-only-increment-use_count-when-enable_.patch
audit-send-netlink-ack-before-setting-connection-in-.patch