Messages in this thread | | | Subject | Re: [PATCH 3/5] cpufreq: qcom-cpufreq-hw: Update offline CPUs per-cpu thermal pressure | From | Thara Gopinath <> | Date | Mon, 11 Oct 2021 17:17:08 -0400 |
| |
On 10/7/21 4:07 AM, Lukasz Luba wrote: > 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 there is throttling > or throttling is removed. > > Fixes: 275157b367f479 ("cpufreq: qcom-cpufreq-hw: Add dcvs interrupt support") > Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
Thanks for the fix.
Reviewed-by: Thara Gopinath <thara.gopinath@linaro.org>
> --- > drivers/cpufreq/qcom-cpufreq-hw.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/cpufreq/qcom-cpufreq-hw.c b/drivers/cpufreq/qcom-cpufreq-hw.c > index a2be0df7e174..0138b2ec406d 100644 > --- a/drivers/cpufreq/qcom-cpufreq-hw.c > +++ b/drivers/cpufreq/qcom-cpufreq-hw.c > @@ -304,7 +304,8 @@ static void qcom_lmh_dcvs_notify(struct qcom_cpufreq_data *data) > if (capacity > max_capacity) > capacity = max_capacity; > > - arch_set_thermal_pressure(policy->cpus, max_capacity - capacity); > + arch_set_thermal_pressure(policy->related_cpus, > + max_capacity - capacity); > > /* > * In the unlikely case policy is unregistered do not enable >
-- Warm Regards Thara (She/Her/Hers)
| |