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

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>
2021-07-14 16:55:47 +02:00
..
broadcom
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
st thermal: stm32: simplify the return expression of stm_thermal_prepare() 2020-10-12 12:08:35 +02:00
tegra
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
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
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
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
gov_user_space.c
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
imx_thermal.c thermal: imx: Use dev_err_probe() to simplify error handling 2020-10-12 12:08:34 +02:00
k3_bandgap.c
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
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
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
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_hwmon.h
thermal_mmio.c
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
thermal-generic-adc.c
uniphier_thermal.c
zx2967_thermal.c