lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56fb5540-fb86-4e6a-a596-1276026b37e5@gmail.com>
Date:   Wed, 23 Jun 2021 17:35:27 +0200
From:   Eric Woudstra <ericwouds@...il.com>
To:     Daniel Lezcano <daniel.lezcano@...aro.org>
CC:     Rob Herring <robh+dt@...nel.org>,
        Matthias Brugger <matthias.bgg@...il.com>,
        devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
        linux-mediatek@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Fix mt7622.dtsi thermal cpu

It is only useful to set 1 map with the regulated temperature for cpu frequency throttling. Same as in the kernel document example.


It has no use to set frequency scaling on 2 different temperature trip points, as the lowest one makes sure the higher one(s) are never reached. It can be applied only at 1 trip point. Multiple trip points is only usefully for fan control to make sure the fan is not too noisy when it is not necessary to be noisy.


The CPU will almost come to a dead stop when it starts to pass the lowest thermal map with frequency throttling. 

This is why it is a bug and needs a fix, not only adjustment.




There is no fan... On the bpi r64.


Anyway without throttling at all a kernel build for more then an hour temperature creeps up to 85 degrees.

⁣Get BlueMail for Android ​

On Jun 21, 2021, 8:29 PM, at 8:29 PM, Daniel Lezcano <daniel.lezcano@...aro.org> wrote:
>On 19/06/2021 14:19, ericwouds@...il.com wrote:
>> From: Eric Woudstra <ericwouds@...il.com>
>> 
>> Cpu-thermal is set to use all frequencies already at 47 degrees. 
>> Using the CPU at 50 for a minute, the CPU has reached 48 degrees, is 
>> throttled back to lowest setting, making the mt7622 terrribly slow. 
>> Even at this low speed, the CPU does not cool down lower then 47 so
>> the CPU is stuck at lowest possible frequency until it shut down and
>> stays off for 15 minutes.
>> 
>> cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
>>                  <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
>> 
>> This should not be set al every cooling map. It should only be set at
>> the highest cooling map. Same as in the example:
>> 
>> https://www.kernel.org/doc/Documentation/devicetree/bindings/
>> thermal/thermal.txt  line 272
>> 
>> But then without the fan and added a third map.
>> 
>> Now temperature will be regulated at 87 degrees celcius. At
>temperatures
>> lower then 87, all frequencies can be used.
>
>47°C is really a too low temperature and this performance drop is
>normal.
>
>I would not remove the passive mitigation but try by increasing the CPU
>temp to 70°C and by changing the active trip point to 80°C. If it works
>fine, try 75°C and 85°C.
>
>To test, the thermal killer is dhrystone (one thread per cpu).
>
>With a 75°C passive trip point, the step wise thermal governor, I think
>the mitigation will happen smoothly providing better performances, and
>probably the fan won't fire.
>
>> Also see the post:
>> 
>> http://forum.banana-pi.org/t/bpi-r64-only-10-cpu-speed-at-already-48-
>> degrees-celcius-speed-not-increasing-anymore/12262
>> 
>> Signed-off-by: Eric Woudstra <ericwouds@...il.com>
>> ---
>>  arch/arm64/boot/dts/mediatek/mt7622.dtsi | 8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
>> 
>> diff --git a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
>b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
>> index 890a942ec..b779c7aa6 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
>> +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
>> @@ -170,14 +170,14 @@ cpu-crit {
>>  			cooling-maps {
>>  				map0 {
>>  					trip = <&cpu_passive>;
>> -					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
>> -							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
>> +					cooling-device = <&cpu0 0 0>,
>> +							 <&cpu1 0 0>;
>>  				};
>>  
>>  				map1 {
>>  					trip = <&cpu_active>;
>> -					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
>> -							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
>> +					cooling-device = <&cpu0 0 0>,
>> +							 <&cpu1 0 0>;
>>  				};
>>  
>>  				map2 {
>> 
>
>
>-- 
><http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
>
>Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
><http://twitter.com/#!/linaroorg> Twitter |
><http://www.linaro.org/linaro-blog/> Blog

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ