Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
To: Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>,
	Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
	Wasim Nazir <quic_wasimn@quicinc.com>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>
Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, kernel@quicinc.com
Subject: Re: [PATCH v5 6/6] arm64: dts: qcom: Enable cpu cooling devices for QCS9075 platforms
Date: Tue, 31 Dec 2024 17:21:01 +0100	[thread overview]
Message-ID: <1798bc04-4cda-45aa-b033-3cbafe7f8f54@oss.qualcomm.com> (raw)
In-Reply-To: <af982662-85c0-5d21-be40-44cbc8401678@quicinc.com>

On 31.12.2024 12:05 PM, Manaf Meethalavalappu Pallikunhi wrote:
> 
> Hi Konrad,
> 
> On 12/30/2024 9:05 PM, Konrad Dybcio wrote:
>> On 29.12.2024 4:23 PM, Wasim Nazir wrote:
>>> From: Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
>>>
>>> In QCS9100 SoC, the safety subsystem monitors all thermal sensors and
>>> does corrective action for each subsystem based on sensor violation
>>> to comply safety standards. But as QCS9075 is non-safe SoC it
>>> requires conventional thermal mitigation to control thermal for
>>> different subsystems.
>>>
>>> The cpu frequency throttling for different cpu tsens is enabled in
>>> hardware as first defense for cpu thermal control. But QCS9075 SoC
>>> has higher ambient specification. During high ambient condition, even
>>> lowest frequency with multi cores can slowly build heat over the time
>>> and it can lead to thermal run-away situations. This patch restrict
>>> cpu cores during this scenario helps further thermal control and
>>> avoids thermal critical violation.
>>>
>>> Add cpu idle injection cooling bindings for cpu tsens thermal zones
>>> as a mitigation for cpu subsystem prior to thermal shutdown.
>>>
>>> Add cpu frequency cooling devices that will be used by userspace
>>> thermal governor to mitigate skin thermal management.
>>>
>>> Signed-off-by: Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
>>> ---
>> Does this bring measurable benefits over just making the CPU a cooling
>> device and pointing the thermal zones to it (and not the idle subnode)?
>>
>> Konrad
> As noted in the commit, CPU frequency mitigation is handled by hardware as a first level mitigation. The software/scheduler will be updated via arch_update_hw_pressure API [1] for this mitigation. Adding the same CPU mitigation in thermal zones is redundant. We are adding idle injection with a 100% duty cycle as an additional mitigation step  at higher trip to further reduce CPU power consumption. This helps device thermal stability further, especially in high ambient conditions.

I understood this much from the commit message.

What I'm asking is, whether your solution actually works better than just
letting Linux software-throttle the CPUs, preferably backed by some
numbers.

I'm also unsure how this is supposed to reduce power consumption. If the
CPUs aren't busy, they should idle, and if they are not fully utilized, a
lower frequency would likely be scheduled.

Konrad


> 
> [1]. https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/cpufreq/qcom-cpufreq-hw.c?h=next-20241220#n352
> 
> Best regards,
> 
> Manaf
> 

  reply	other threads:[~2024-12-31 16:21 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-29 15:23 [PATCH v5 0/6] arm64: qcom: Add support for QCS9075 boards Wasim Nazir
2024-12-29 15:23 ` [PATCH v5 1/6] dt-bindings: arm: qcom,ids: add SoC ID for QCS9075 Wasim Nazir
2024-12-29 15:23 ` [PATCH v5 2/6] soc: qcom: socinfo: add QCS9075 SoC ID Wasim Nazir
2024-12-29 15:23 ` [PATCH v5 3/6] dt-bindings: arm: qcom: Document rb8/ride/ride-r3 on QCS9075 Wasim Nazir
2024-12-29 15:23 ` [PATCH v5 4/6] arm64: dts: qcom: Add support for QCS9075 RB8 Wasim Nazir
2025-05-06 12:08   ` Dmitry Baryshkov
2025-05-06 12:29     ` Wasim Nazir
2025-05-06 12:30       ` Dmitry Baryshkov
2025-05-06 13:14         ` Wasim Nazir
2025-05-09 22:56           ` Konrad Dybcio
2024-12-29 15:23 ` [PATCH v5 5/6] arm64: dts: qcom: Add support for QCS9075 Ride & Ride-r3 Wasim Nazir
2024-12-30 15:32   ` Konrad Dybcio
2024-12-31  5:10     ` Andrew Lunn
2025-01-02  9:13       ` Wasim Nazir
2024-12-30 15:45   ` Dmitry Baryshkov
2025-01-02  9:07     ` Wasim Nazir
2025-01-03  5:50       ` Dmitry Baryshkov
2025-01-03  7:07         ` Wasim Nazir
2025-01-03 10:31           ` Dmitry Baryshkov
2025-01-03 18:59             ` Wasim Nazir
2025-01-03 19:58               ` Dmitry Baryshkov
2025-01-08 14:09                 ` Krzysztof Kozlowski
2025-01-09 14:47                   ` Wasim Nazir
2025-01-09 15:03                     ` Wasim Nazir
2025-01-09 16:16                     ` Krzysztof Kozlowski
2025-01-15  5:48                       ` Wasim Nazir
2025-01-15  8:35                         ` Krzysztof Kozlowski
2025-02-27  7:37                           ` Wasim Nazir
2025-03-03  7:46                             ` Krzysztof Kozlowski
2025-03-06  8:17                               ` Wasim Nazir
2025-03-06  8:25                                 ` Wasim Nazir
2025-03-11  8:02                                   ` Krzysztof Kozlowski
2025-03-20 11:45                                     ` Wasim Nazir
2025-03-29  4:48                                       ` Krzysztof Kozlowski
2025-04-02  6:48                                         ` Wasim Nazir
2025-03-11  7:59                                 ` Krzysztof Kozlowski
2025-01-09 13:52                 ` Wasim Nazir
2025-01-06 23:59   ` Bjorn Andersson
2025-01-09 13:36     ` Wasim Nazir
2024-12-29 15:23 ` [PATCH v5 6/6] arm64: dts: qcom: Enable cpu cooling devices for QCS9075 platforms Wasim Nazir
2024-12-30  6:02   ` Aiqun(Maria) Yu
2024-12-30 15:35   ` Konrad Dybcio
2024-12-31 11:05     ` Manaf Meethalavalappu Pallikunhi
2024-12-31 16:21       ` Konrad Dybcio [this message]
2025-01-08 12:10         ` Manaf Meethalavalappu Pallikunhi
2024-12-30 15:40   ` Dmitry Baryshkov
2024-12-31 12:01     ` Manaf Meethalavalappu Pallikunhi
2025-01-03  5:51       ` Dmitry Baryshkov
2025-01-08 12:27         ` Manaf Meethalavalappu Pallikunhi
2025-01-08 12:46           ` Dmitry Baryshkov
2025-01-08 16:08             ` Manaf Meethalavalappu Pallikunhi
2025-01-09 14:30               ` Konrad Dybcio
2025-01-09 23:54               ` Dmitry Baryshkov
2025-01-10 12:31                 ` Konrad Dybcio
2025-01-13  8:43                   ` Dmitry Baryshkov
2025-01-14 19:16                 ` Manaf Meethalavalappu Pallikunhi
2025-01-15  8:54                   ` Dmitry Baryshkov
2024-12-30 18:17 ` [PATCH v5 0/6] arm64: qcom: Add support for QCS9075 boards Rob Herring (Arm)
2025-01-07 16:38 ` (subset) " Bjorn Andersson

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=1798bc04-4cda-45aa-b033-3cbafe7f8f54@oss.qualcomm.com \
    --to=konrad.dybcio@oss.qualcomm.com \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=kernel@quicinc.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=quic_manafm@quicinc.com \
    --cc=quic_wasimn@quicinc.com \
    --cc=robh@kernel.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