Message ID | 20250309121324.29633-4-john.madieu.xa@bp.renesas.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | thermal: Add CPU hotplug cooling driver | expand |
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@bp.renesas.com> > --- > 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.
Hi Christian, Thanks for reviewing. > -----Original Message----- > From: Christian Loehle <christian.loehle@arm.com> > Sent: Tuesday, March 11, 2025 11:53 AM > To: John Madieu <john.madieu.xa@bp.renesas.com>; geert+renesas@glider.be; > niklas.soderlund+renesas@ragnatech.se; conor+dt@kernel.org; > krzk+dt@kernel.org; robh@kernel.org; rafael@kernel.org; > daniel.lezcano@linaro.org > Cc: magnus.damm@gmail.com; Claudiu Beznea > <claudiu.beznea.uj@bp.renesas.com>; devicetree@vger.kernel.org; > john.madieu@gmail.com; rui.zhang@intel.com; linux-kernel@vger.kernel.org; > linux-renesas-soc@vger.kernel.org; Biju Das <biju.das.jz@bp.renesas.com>; > linux-pm@vger.kernel.org > 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@bp.renesas.com> > > --- > > 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. Regards, John.
On 3/11/25 11:57, John Madieu wrote: > Hi Christian, > > Thanks for reviewing. > >> -----Original Message----- >> From: Christian Loehle <christian.loehle@arm.com> >> Sent: Tuesday, March 11, 2025 11:53 AM >> To: John Madieu <john.madieu.xa@bp.renesas.com>; geert+renesas@glider.be; >> niklas.soderlund+renesas@ragnatech.se; conor+dt@kernel.org; >> krzk+dt@kernel.org; robh@kernel.org; rafael@kernel.org; >> daniel.lezcano@linaro.org >> Cc: magnus.damm@gmail.com; Claudiu Beznea >> <claudiu.beznea.uj@bp.renesas.com>; devicetree@vger.kernel.org; >> john.madieu@gmail.com; rui.zhang@intel.com; linux-kernel@vger.kernel.org; >> linux-renesas-soc@vger.kernel.org; Biju Das <biju.das.jz@bp.renesas.com>; >> linux-pm@vger.kernel.org >> 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@bp.renesas.com> >>> --- >>> 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.
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>;
Add CPU hotplug trip point to shutdown CPU1 and CPU2 when exceeding 110°C. Signed-off-by: John Madieu <john.madieu.xa@bp.renesas.com> --- arch/arm64/boot/dts/renesas/r9a09g047.dtsi | 13 +++++++++++++ 1 file changed, 13 insertions(+)