Re: [RFC PATCH 3/3] arm64: dts: renesas: r9a09g047: Add thermal hotplug trip point

From: Christian Loehle
Date: Tue Mar 11 2025 - 11:35:18 EST


On 3/11/25 11:57, John Madieu wrote:
> Hi Christian,
>
> Thanks for reviewing.
>
>> -----Original Message-----
>> From: Christian Loehle <christian.loehle@xxxxxxx>
>> Sent: Tuesday, March 11, 2025 11:53 AM
>> To: John Madieu <john.madieu.xa@xxxxxxxxxxxxxx>; geert+renesas@xxxxxxxxx;
>> niklas.soderlund+renesas@xxxxxxxxxxxx; conor+dt@xxxxxxxxxx;
>> krzk+dt@xxxxxxxxxx; robh@xxxxxxxxxx; rafael@xxxxxxxxxx;
>> daniel.lezcano@xxxxxxxxxx
>> Cc: magnus.damm@xxxxxxxxx; Claudiu Beznea
>> <claudiu.beznea.uj@xxxxxxxxxxxxxx>; devicetree@xxxxxxxxxxxxxxx;
>> john.madieu@xxxxxxxxx; rui.zhang@xxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
>> linux-renesas-soc@xxxxxxxxxxxxxxx; Biju Das <biju.das.jz@xxxxxxxxxxxxxx>;
>> linux-pm@xxxxxxxxxxxxxxx
>> Subject: Re: [RFC PATCH 3/3] arm64: dts: renesas: r9a09g047: Add thermal
>> hotplug trip point
>>
>> On 3/9/25 12:13, John Madieu wrote:
>>> Add CPU hotplug trip point to shutdown CPU1 and CPU2 when exceeding
>> 110°C.
>>>
>>> Signed-off-by: John Madieu <john.madieu.xa@xxxxxxxxxxxxxx>
>>> ---
>>> arch/arm64/boot/dts/renesas/r9a09g047.dtsi | 13 +++++++++++++
>>> 1 file changed, 13 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/renesas/r9a09g047.dtsi
>>> b/arch/arm64/boot/dts/renesas/r9a09g047.dtsi
>>> index 93b57d7ad7b9..06bd394582e2 100644
>>> --- a/arch/arm64/boot/dts/renesas/r9a09g047.dtsi
>>> +++ b/arch/arm64/boot/dts/renesas/r9a09g047.dtsi
>>> @@ -533,6 +533,13 @@ map0 {
>>> <&cpu2 0 3>, <&cpu3 0 3>;
>>> contribution = <1024>;
>>> };
>>> +
>>> + map1 {
>>> + trip = <&trip_emergency>;
>>> + cooling-device = <&cpu1 0 1>, <&cpu2 0 1>;
>>> + contribution = <1024>;
>>> + };
>>> +
>>> };
>>>
>>> trips {
>>> @@ -542,6 +549,12 @@ target: trip-point {
>>> type = "passive";
>>> };
>>>
>>> + trip_emergency: emergency {
>>> + temperature = <110000>;
>>> + hysteresis = <1000>;
>>> + type = "plug";
>>> + };
>>> +
>>> sensor_crit: sensor-crit {
>>> temperature = <120000>;
>>> hysteresis = <1000>;
>>
>>
>> Are there no other cooling methods?
>> How does it compare to idle inject?
>>
>> Furthermore, couldn't the offlining of some CPUs lead to the rest being
>> operated at much higher OPPs therefore the overall power increase, too?
>> (Without having looked at if this is a possibility for this particular
>> SoC.)
>> Some numbers would be helpful IMO.
>
> To clarify this, I tested with CPUFreq cooling, along with performance
> Governor, with "plug" threshold higher than "passive" one. When passive
> trip is crossed, we observe proper CPUs throttling, and when "plug" trip
> is crossed, we observe target CPUs being put offline, while throttling
> remains.
>
> When "plug" targeted CPUs come back online, throttling is still operational.
>
> Once I get comparison results with CPU idle cooling, I'll keep you posted.
>

Thanks John!
Might make sense to also try this with schedutil, because my argument doesn't
hold with performance governor.
As long as we also have throttling that's not a concern anyway.