Re: [PATCH v3 0/5] Refactor thermal pressure update to avoid code duplication

From: Lukasz Luba
Date: Tue Nov 09 2021 - 13:13:42 EST




On 11/9/21 4:22 PM, Lukasz Luba wrote:


On 11/9/21 3:46 PM, Steev Klimaszewski wrote:

On 11/9/21 2:29 AM, Lukasz Luba wrote:
Hi Steev,

That's interesting what you've done with Rockchip RK3399.
I would like to reproduce your experiment on my RockPI 4B v1.3.
Could you tell me how you to add this boost frequency that you have
mentioned in some previous emails?

I want to have similar setup to yours and I'll check all the subsystems
involved in the decision making process for triggering this boost freq.

Thank you for your support.

Regards,
Lukasz


Hi Lukasz,

It was actually something that Armbian had been doing as an overlay for their setup, and I thought, why does it need to be an overlay, when we could simply hide it behind turbo-mode so that if users want to overclock, they simply echo 1 and if it's unstable or cooling/power isn't enough, they can echo 0 or leave it off (boost defaults to off) - so that being said:

I apply this patch https://gitlab.com/kalilinux/build-scripts/kali-arm/-/blob/master/patches/pinebook-pro/pbp-5.14/rk3399-opp-overclock-2GHz-turbo-mode.patch which adds the 1.5GHz for little cores and 2GHz for the big to the rk3399 dtsi

To enable at boot time, I simply have "echo 1 > /sys/devices/system/cpu/cpufreq/boost" in my /etc/rc.local  And to disable, simply echo 0 in there (it defaults to 0 so it's off and most users won't know it exists.)

I'm pretty sure this is "abusing" turbo-mode, but it works well enough...

Hope that helps,


Yes, that help. Thank you for the info.
I'll play a bit with this boosting and try to figure out
the mechanisms.

For the $subject patch set, I'm going to send v4, since
it's not affecting the boost usage. The newly introduced
interface must handle these boost frequency values and not
simply ignore them with also printing a warning.
They are valid frequencies and we should just put 0 to
the thermal pressure in such cases.


I think I have figure out what is going on with the issue that
you've reported. On this rockchip platform you are probably using
step-wise thermal governor, which tries to decrease/increase
max allowed frequency step-by-step walking through the sorted
frequencies. So it would always set the thermal pressure to 0
when the thermal throttling is gone.
On the Qcom platform there is a different policy in HW/FW which
controls thermal and it can simple remove clamping 'instantly'
and allow all frequencies also the boost one. The highest possible
frequency is passed then to the this thermal pressure machinery.
So we see the warning that the boost frequency value is trying to
be passed to this arch_update_thermal_pressure(), but we ignore
such big frequency value and unfortunately do not clean the previously
set thermal pressure. Then the scheduler still sees the reduced
capacity on that CPU and cannot request higher frequencies.

The v4 patch would allow to pass the boost frequencies values, so
the issue would be solved.

Regards,
Lukasz