linux/drivers/thermal
Lukasz Luba f2b2400476 thermal/cpufreq_cooling: Update offline CPUs per-cpu thermal_pressure
[ Upstream commit 2ad8ccc17d ]

The thermal pressure signal gives information to the scheduler about
reduced CPU capacity due to thermal. It is based on a value stored in
a per-cpu 'thermal_pressure' variable. The online CPUs will get the
new value there, while the offline won't. Unfortunately, when the CPU
is back online, the value read from per-cpu variable might be wrong
(stale data).  This might affect the scheduler decisions, since it
sees the CPU capacity differently than what is actually available.

Fix it by making sure that all online+offline CPUs would get the
proper value in their per-cpu variable when thermal framework sets
capping.

Fixes: f12e4f66ab ("thermal/cpu-cooling: Update thermal pressure in case of a maximum frequency capping")
Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Link: https://lore.kernel.org/r/20210614191030.22241-1-lukasz.luba@arm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2021-07-14 16:55:47 +02:00
..
broadcom thermal: brcmstb_thermal: Register different ops per process 2020-01-27 11:41:08 +01:00
intel thermal/drivers/intel: Initialize RW trip to THERMAL_TEMP_INVALID 2021-06-03 09:00:35 +02:00
qcom thermal/drivers/tsens: Fix missing put_device error 2021-05-19 10:13:03 +02:00
samsung thermal: exynos: Silence warning during deferred probe 2020-03-12 11:56:53 +01:00
st thermal: stm32: simplify the return expression of stm_thermal_prepare() 2020-10-12 12:08:35 +02:00
tegra thermal: tegra: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
ti-soc-thermal thermal: ti-soc-thermal: Disable the CPU PM notifier for OMAP4430 2020-11-12 12:30:29 +01:00
amlogic_thermal.c thermal: amlogic: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
armada_thermal.c thermal: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
cpufreq_cooling.c thermal/cpufreq_cooling: Update offline CPUs per-cpu thermal_pressure 2021-07-14 16:55:47 +02:00
cpuidle_cooling.c thermal/idle_inject: Fix comment of idle_duration_us and name of latency_ns 2020-10-12 12:08:35 +02:00
da9062-thermal.c thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
db8500_thermal.c thermal: db8500: Depromote debug print 2020-01-27 10:24:32 +01:00
devfreq_cooling.c thermal: cooling: Remove unused variable *tz 2020-10-12 12:08:36 +02:00
dove_thermal.c thermal: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
gov_bang_bang.c thermal: step_wise: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
gov_fair_share.c thermal/core/fair share: Lock the thermal zone while looping over instances 2021-05-11 14:47:41 +02:00
gov_power_allocator.c thermal: cooling: Remove unused variable *tz 2020-10-12 12:08:36 +02:00
gov_step_wise.c thermal/governors: Prefix all source files with gov_ 2020-05-22 18:48:54 +02:00
gov_user_space.c thermal/governors: Prefix all source files with gov_ 2020-05-22 18:48:54 +02:00
hisi_thermal.c thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
imx8mm_thermal.c thermal: imx8mm: Use dev_err_probe() to simplify error handling 2020-10-12 12:08:35 +02:00
imx_sc_thermal.c - Add the hwmon support on the i.MX SC (Anson Huang) 2020-06-12 14:10:21 -07:00
imx_thermal.c thermal: imx: Use dev_err_probe() to simplify error handling 2020-10-12 12:08:34 +02:00
k3_bandgap.c thermal: k3: Add support for bandgap sensors 2020-04-14 11:41:12 +02:00
Kconfig thermal: Kconfig: Update description for RCAR_GEN3_THERMAL config 2020-10-12 12:08:35 +02:00
khadas_mcu_fan.c thermal: Add support for the MCU controlled FAN on Khadas boards 2020-06-25 07:44:20 +01:00
kirkwood_thermal.c thermal: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
Makefile - Core Frameworks 2020-08-15 08:09:38 -07:00
max77620_thermal.c thermal: max77620: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
mtk_thermal.c - Add support to enable/disable the thermal zones resulting on core code and 2020-08-06 18:10:55 -07:00
qoriq_thermal.c thermal: qoriq: Update the settings for TMUv2 2020-05-29 20:26:51 +02:00
rcar_gen3_thermal.c - Add support to enable/disable the thermal zones resulting on core code and 2020-08-06 18:10:55 -07:00
rcar_thermal.c thermal: rcar_thermal: Add missing braces to conditional statement 2020-10-12 12:08:35 +02:00
rockchip_thermal.c thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
spear_thermal.c thermal: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
sprd_thermal.c - Add support to enable/disable the thermal zones resulting on core code and 2020-08-06 18:10:55 -07:00
sun8i_thermal.c thermal: sun8i: Add A100's THS controller support 2020-10-12 12:08:36 +02:00
tango_thermal.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
thermal-generic-adc.c thermal: generic-adc: silence info message for IIO_TEMP channels 2020-01-27 10:24:32 +01:00
thermal_core.c thermal: cooling: Remove unused variable *tz 2020-10-12 12:08:36 +02:00
thermal_core.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
thermal_helpers.c thermal: core: Add notifications call in the framework 2020-07-07 15:55:22 +02:00
thermal_hwmon.c thermal/drivers/thermal_hwmon: Include export.h 2020-05-22 18:48:53 +02:00
thermal_hwmon.h thermal_hwmon: Add devres wrapper for thermal_add_hwmon_sysfs() 2020-01-27 10:24:32 +01:00
thermal_mmio.c thermal: no need to set .owner when using module_platform_driver 2019-11-07 07:00:26 +01:00
thermal_netlink.c - Fix Kconfig typo "acces" -> "access" (Colin Ian King) 2020-10-17 10:40:22 -07:00
thermal_netlink.h thermal: netlink: Improve the initcall ordering 2020-07-21 10:40:08 +02:00
thermal_of.c thermal: thermal_of: Fix error return code of thermal_of_populate_bind_params() 2021-05-19 10:13:00 +02:00
thermal_sysfs.c thermal/core: Add NULL pointer check before using cooling device stats 2021-04-07 15:00:06 +02:00
uniphier_thermal.c thermal: uniphier: Convert to SPDX identifier 2019-01-02 04:47:16 -08:00
zx2967_thermal.c thermal: zx2967: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00