From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Lukasz Luba <lukasz.luba@arm.com>
Cc: Jonathan Corbet <corbet@lwn.net>,
linux-pm@vger.kernel.org, "Rafael J. Wysocki" <rafael@kernel.org>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org,
Viresh Kumar <viresh.kumar@linaro.org>
Subject: Re: [PATCH v2 2/2] cpufreq: qcom-hw: Delay enabling throttle_irq
Date: Fri, 28 Jan 2022 10:30:48 -0800 [thread overview]
Message-ID: <YfQ2WEiqV30PGNrt@ripper> (raw)
In-Reply-To: <5433250b-ee51-06e0-3ef8-ab287a112611@arm.com>
On Fri 28 Jan 02:39 PST 2022, Lukasz Luba wrote:
>
>
> On 1/28/22 3:25 AM, Bjorn Andersson wrote:
> > In the event that the SoC is under thermal pressure while booting it's
> > possible for the dcvs notification to happen inbetween the cpufreq
> > framework calling init and it actually updating the policy's
> > related_cpus cpumask.
> >
> > Prior to the introduction of the thermal pressure update helper an empty
> > cpumask would simply result in the thermal pressure of no cpus being
> > updated, but the new code will attempt to dereference an invalid per_cpu
> > variable.
>
> Just to confirm, is that per-cpu var the 'policy->related_cpus' in this
> driver?
>
Correct, we boot under thermal pressure, so the interrupt fires before
we return from "init", which means that related_cpus is still 0.
> >
> > Avoid this problem by using the newly reintroduced "ready" callback, to
> > postpone enabling the IRQ until the related_cpus cpumask is filled in.
> >
> > Fixes: 0258cb19c77d ("cpufreq: qcom-cpufreq-hw: Use new thermal pressure update function")
>
> You have 'Fixes' tagging here, which might be picked by the stable tree.
> The code uses the reverted callback .ready(), which might be missing
> there (since patch 1/2 doesn't have tagging). This patch looks like a
> proper fix for the root cause.
>
Yes, the pair would need to be picked up.
> Anyway, I'm going to send a patch, which adds a check for null cpumask
> in the topology_update_thermal_pressure()
> It was removed after the review comments:
> https://lore.kernel.org/linux-pm/20211028054459.dve6s2my2tq7odem@vireshk-i7/
>
I attempted that in v1:
https://lore.kernel.org/all/20220118185612.2067031-2-bjorn.andersson@linaro.org/
And while patch 1 is broken, I think Greg and Sudeep made it clear that
they didn't want a condition to guard against the caller passing cpus of
0.
That's why I in v2 reverted to postpone the thermal pressure IRQ until
cpufreq is "ready".
Regards,
Bjorn
> I'll also push that change for the stable tree.
>
> Regards,
> Lukasz
next prev parent reply other threads:[~2022-01-28 18:30 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-28 3:25 [PATCH v2 1/2] cpufreq: Reintroduce ready() callback Bjorn Andersson
2022-01-28 3:25 ` [PATCH v2 2/2] cpufreq: qcom-hw: Delay enabling throttle_irq Bjorn Andersson
2022-01-28 10:39 ` Lukasz Luba
2022-01-28 18:30 ` Bjorn Andersson [this message]
2022-01-31 8:59 ` Lukasz Luba
2022-02-09 7:38 ` Viresh Kumar
2022-01-28 8:52 ` [PATCH v2 1/2] cpufreq: Reintroduce ready() callback Lukasz Luba
2022-01-28 18:24 ` Bjorn Andersson
2022-02-09 7:50 ` Viresh Kumar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YfQ2WEiqV30PGNrt@ripper \
--to=bjorn.andersson@linaro.org \
--cc=corbet@lwn.net \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lukasz.luba@arm.com \
--cc=rafael@kernel.org \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).