All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] Refactor thermal pressure update to avoid code duplication
@ 2021-11-03 16:10 ` Lukasz Luba
  0 siblings, 0 replies; 54+ messages in thread
From: Lukasz Luba @ 2021-11-03 16:10 UTC (permalink / raw)
  To: linux-kernel, linux-pm
  Cc: linux-arm-kernel, linux-arm-msm, lukasz.luba, sudeep.holla, will,
	catalin.marinas, linux, gregkh, rafael, viresh.kumar, amitk,
	daniel.lezcano, amit.kachhap, thara.gopinath, bjorn.andersson,
	agross

Hi all,

This patch set v3 aims to refactor the thermal pressure update
code. There are already two clients which do similar thing:
convert the capped frequency value into the capacity of
affected CPU and call the 'set' function to store the 
reduced capacity into the per-cpu variable.
There might be more than two of these users. In near future
it will be scmi-cpufreq driver, which receives notification
from FW about reduced frequency due to thermal. Other vendors
might follow. Let's avoid code duplication and potential
conversion bugs. Move the conversion code into the arch_topology.c
where the capacity calculation setup code and thermal pressure sit.

Apart from that $subject patches, there is one patch (3/5) which fixes
issue in qcom-cpufreq-hw.c when the thermal pressure is not 
updated for offline CPUs. It's similar fix that has been merged
recently for cpufreq_cooling.c:
2ad8ccc17d1e4270cf65a3f2

Changes:
v3:
- added warning and check if provided capped frequency is lower than
  max (Viresh)
- removed check for empty cpu mask (Viresh)
- replaced tabs with spaces in the doxygen comment (Viresh)
- renamed {arch|topology}_thermal_pressure_update() to
  {arch|topology}_update_thermal_pressure() so it's align with scheme (Dietmar)
- added info about MHz in freq_factor into patch description (Dietmar)
v2 [2]:
- added Reviewed-by from Thara for patch 3/5
- changed the doxygen comment and used mult_frac()
  according to Thara's suggestion in patch 1/5
v1 -> [1]

Regards,
Lukasz Luba

[1] https://lore.kernel.org/linux-pm/20211007080729.8262-1-lukasz.luba@arm.com/
[2] https://lore.kernel.org/linux-pm/20211015144550.23719-1-lukasz.luba@arm.com/

Lukasz Luba (5):
  arch_topology: Introduce thermal pressure update function
  thermal: cpufreq_cooling: Use new thermal pressure update function
  cpufreq: qcom-cpufreq-hw: Update offline CPUs per-cpu thermal pressure
  cpufreq: qcom-cpufreq-hw: Use new thermal pressure update function
  arch_topology: Remove unused topology_set_thermal_pressure() and
    related

 arch/arm/include/asm/topology.h   |  2 +-
 arch/arm64/include/asm/topology.h |  2 +-
 drivers/base/arch_topology.c      | 36 +++++++++++++++++++++++++++----
 drivers/cpufreq/qcom-cpufreq-hw.c | 14 +++++-------
 drivers/thermal/cpufreq_cooling.c |  6 +-----
 include/linux/arch_topology.h     |  4 ++--
 include/linux/sched/topology.h    |  6 +++---
 init/Kconfig                      |  2 +-
 8 files changed, 46 insertions(+), 26 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 54+ messages in thread

end of thread, other threads:[~2021-11-09 19:11 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-03 16:10 [PATCH v3 0/5] Refactor thermal pressure update to avoid code duplication Lukasz Luba
2021-11-03 16:10 ` Lukasz Luba
2021-11-03 16:10 ` [PATCH v3 1/5] arch_topology: Introduce thermal pressure update function Lukasz Luba
2021-11-03 16:10   ` Lukasz Luba
2021-11-03 16:10 ` [PATCH v3 2/5] thermal: cpufreq_cooling: Use new " Lukasz Luba
2021-11-03 16:10   ` Lukasz Luba
2021-11-03 16:10 ` [PATCH v3 3/5] cpufreq: qcom-cpufreq-hw: Update offline CPUs per-cpu thermal pressure Lukasz Luba
2021-11-03 16:10   ` Lukasz Luba
2021-11-03 16:10 ` [PATCH v3 4/5] cpufreq: qcom-cpufreq-hw: Use new thermal pressure update function Lukasz Luba
2021-11-03 16:10   ` Lukasz Luba
2021-11-05 19:12   ` Thara Gopinath
2021-11-05 19:12     ` Thara Gopinath
2021-11-08 14:12     ` Lukasz Luba
2021-11-08 14:12       ` Lukasz Luba
2021-11-08 21:23       ` Thara Gopinath
2021-11-08 21:23         ` Thara Gopinath
2021-11-09  8:46         ` Lukasz Luba
2021-11-09  8:46           ` Lukasz Luba
2021-11-03 16:10 ` [PATCH v3 5/5] arch_topology: Remove unused topology_set_thermal_pressure() and related Lukasz Luba
2021-11-03 16:10   ` Lukasz Luba
2021-11-05 15:39 ` [PATCH v3 0/5] Refactor thermal pressure update to avoid code duplication Steev Klimaszewski
2021-11-05 15:39   ` Steev Klimaszewski
2021-11-05 16:26   ` Lukasz Luba
2021-11-05 16:26     ` Lukasz Luba
2021-11-05 17:33     ` Steev Klimaszewski
2021-11-05 17:33       ` Steev Klimaszewski
2021-11-05 19:18       ` Thara Gopinath
2021-11-05 19:18         ` Thara Gopinath
2021-11-05 19:51         ` Steev Klimaszewski
2021-11-05 19:51           ` Steev Klimaszewski
2021-11-05 21:06           ` Thara Gopinath
2021-11-05 21:06             ` Thara Gopinath
2021-11-05 22:46             ` Steev Klimaszewski
2021-11-05 22:46               ` Steev Klimaszewski
2021-11-08 10:44               ` Lukasz Luba
2021-11-08 10:44                 ` Lukasz Luba
2021-11-08 14:11               ` Thara Gopinath
2021-11-08 14:11                 ` Thara Gopinath
2021-11-08 15:22                 ` Steev Klimaszewski
2021-11-08 15:22                   ` Steev Klimaszewski
2021-11-08 21:31                   ` Thara Gopinath
2021-11-08 21:31                     ` Thara Gopinath
2021-11-08 23:21                     ` Steev Klimaszewski
2021-11-08 23:21                       ` Steev Klimaszewski
2021-11-09  8:29                       ` Lukasz Luba
2021-11-09  8:29                         ` Lukasz Luba
2021-11-09 15:46                         ` Steev Klimaszewski
2021-11-09 15:46                           ` Steev Klimaszewski
2021-11-09 16:22                           ` Lukasz Luba
2021-11-09 16:22                             ` Lukasz Luba
2021-11-09 18:13                             ` Lukasz Luba
2021-11-09 18:13                               ` Lukasz Luba
2021-11-09 19:09                               ` Steev Klimaszewski
2021-11-09 19:09                                 ` Steev Klimaszewski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.