Thread (27 messages) 27 messages, 3 authors, 2021-11-09

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

From: Steev Klimaszewski <hidden>
Date: 2021-11-05 19:51:38
Also in: linux-arm-msm, linux-pm, lkml

On 11/5/21 2:18 PM, Thara Gopinath wrote:

On 11/5/21 1:33 PM, Steev Klimaszewski wrote:
quoted
Hi,

On 11/5/21 11:26 AM, Lukasz Luba wrote:
quoted
Hi Steev,

On 11/5/21 3:39 PM, Steev Klimaszewski wrote:
quoted
Hi Lukasz,
[snip]
Hi Steve,

Does your system have enough load to hit the boost frequencies ? I 
don't think this patch should affect hitting boost frequencies as 
there is no error being returned from topology_update_thermal_pressure.

The warning you are getting is because you have boost frequency 
enabled and IIUC lmh enabled and thermal pressure framework bails out 
due to boost_frequency being greater than what is available in per_cpu 
freq_factor. This is because we do not recalculate freq_factor every 
time boost is enabled / disabled. IIRC there were some discussions 
around rebuilding scheduler domains and capacity with user space 
changes to max frequency but it has never proceeded much. Till that 
point, I think the right way, is to check whether the new capcity 
exceeds the max_capacity of the cpu and if yes use max_capacity in 
lieu of new_capacity to calculate thermal pressure.
Hi Thara,

I should definitely be able to push it to 2.96GHz, however I'm simply 
not getting it at all with these patches applied.

So, I'm currently compiling multiple applications - alacritty 
(https://github.com/alacritty/alacritty), and zellij 
(https://github.com/zellij-org/zellij), as well as running pixz on a 
5.1GB file to compress it, and throwing in cpuburn-a53 
(https://github.com/ssvb/cpuburn-arm) and I'm simply not getting 2.96GHz 
at all.  Ever.  I don't normally try to push it that high, but I wanted 
to see if we could ever hit it (the system was also never going above 86C)

analyzing CPU 4:
   driver: qcom-cpufreq-hw
   CPUs which run at the same hardware frequency: 4 5 6 7
   CPUs which need to have their frequency coordinated by software: 4 5 6 7
   maximum transition latency: 4294.55 ms.
   hardware limits: 826 MHz - 2.96 GHz
   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 
GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 
GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 
GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz
   available cpufreq governors: ondemand, conservative, powersave, 
userspace, performance, schedutil
   current policy: frequency should be within 826 MHz and 2.84 GHz.
                   The governor "schedutil" may decide which speed to use
                   within this range.
   current CPU frequency is 2.84 GHz.
   cpufreq stats: 826 MHz:54.84%, 902 MHz:0.02%, 979 MHz:0.02%, 1.06 
GHz:0.02%, 1.21 GHz:0.08%, 1.29 GHz:0.07%, 1.36 GHz:0.09%, 1.46 
GHz:0.04%, 1.54 GHz:0.02%, 1.61 GHz:0.02%, 1.69 GHz:0.02%, 1.77 
GHz:0.13%, 1.84 GHz:0.04%, 1.92 GHz:0.04%, 2.00 GHz:0.02%, 2.09 
GHz:0.03%, 2.17 GHz:0.02%, 2.25 GHz:0.02%, 2.32 GHz:0.01%, 2.40 
GHz:0.02%, 2.48 GHz:0.02%, 2.55 GHz:0.02%, 2.65 GHz:0.02%, 2.75 
GHz:0.02%, 2.84 GHz:44.38%, 2.96 GHz:0.00%  (8066)
analyzing CPU 5:
   driver: qcom-cpufreq-hw
   CPUs which run at the same hardware frequency: 4 5 6 7
   CPUs which need to have their frequency coordinated by software: 4 5 6 7
   maximum transition latency: 4294.55 ms.
   hardware limits: 826 MHz - 2.96 GHz
   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 
GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 
GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 
GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz
   available cpufreq governors: ondemand, conservative, powersave, 
userspace, performance, schedutil
   current policy: frequency should be within 826 MHz and 2.84 GHz.
                   The governor "schedutil" may decide which speed to use
                   within this range.
   current CPU frequency is 2.84 GHz.
   cpufreq stats: 826 MHz:54.84%, 902 MHz:0.02%, 979 MHz:0.02%, 1.06 
GHz:0.02%, 1.21 GHz:0.08%, 1.29 GHz:0.07%, 1.36 GHz:0.09%, 1.46 
GHz:0.04%, 1.54 GHz:0.02%, 1.61 GHz:0.02%, 1.69 GHz:0.02%, 1.77 
GHz:0.13%, 1.84 GHz:0.04%, 1.92 GHz:0.04%, 2.00 GHz:0.02%, 2.09 
GHz:0.03%, 2.17 GHz:0.02%, 2.25 GHz:0.02%, 2.32 GHz:0.01%, 2.40 
GHz:0.02%, 2.48 GHz:0.02%, 2.55 GHz:0.02%, 2.65 GHz:0.02%, 2.75 
GHz:0.02%, 2.84 GHz:44.38%, 2.96 GHz:0.00%  (8066)
analyzing CPU 6:
   driver: qcom-cpufreq-hw
   CPUs which run at the same hardware frequency: 4 5 6 7
   CPUs which need to have their frequency coordinated by software: 4 5 6 7
   maximum transition latency: 4294.55 ms.
   hardware limits: 826 MHz - 2.96 GHz
   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 
GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 
GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 
GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz
   available cpufreq governors: ondemand, conservative, powersave, 
userspace, performance, schedutil
   current policy: frequency should be within 826 MHz and 2.84 GHz.
                   The governor "schedutil" may decide which speed to use
                   within this range.
   current CPU frequency is 2.84 GHz.
   cpufreq stats: 826 MHz:54.84%, 902 MHz:0.02%, 979 MHz:0.02%, 1.06 
GHz:0.02%, 1.21 GHz:0.08%, 1.29 GHz:0.07%, 1.36 GHz:0.09%, 1.46 
GHz:0.04%, 1.54 GHz:0.02%, 1.61 GHz:0.02%, 1.69 GHz:0.02%, 1.77 
GHz:0.13%, 1.84 GHz:0.04%, 1.92 GHz:0.04%, 2.00 GHz:0.02%, 2.09 
GHz:0.03%, 2.17 GHz:0.02%, 2.25 GHz:0.02%, 2.32 GHz:0.01%, 2.40 
GHz:0.02%, 2.48 GHz:0.02%, 2.55 GHz:0.02%, 2.65 GHz:0.02%, 2.75 
GHz:0.02%, 2.84 GHz:44.38%, 2.96 GHz:0.00%  (8066)
analyzing CPU 7:
   driver: qcom-cpufreq-hw
   CPUs which run at the same hardware frequency: 4 5 6 7
   CPUs which need to have their frequency coordinated by software: 4 5 6 7
   maximum transition latency: 4294.55 ms.
   hardware limits: 826 MHz - 2.96 GHz
   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 
GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 
GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 
GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz
   available cpufreq governors: ondemand, conservative, powersave, 
userspace, performance, schedutil
   current policy: frequency should be within 826 MHz and 2.84 GHz.
                   The governor "schedutil" may decide which speed to use
                   within this range.
   current CPU frequency is 2.84 GHz.
   cpufreq stats: 826 MHz:54.84%, 902 MHz:0.02%, 979 MHz:0.02%, 1.06 
GHz:0.02%, 1.21 GHz:0.08%, 1.29 GHz:0.07%, 1.36 GHz:0.09%, 1.46 
GHz:0.04%, 1.54 GHz:0.02%, 1.61 GHz:0.02%, 1.69 GHz:0.02%, 1.77 
GHz:0.13%, 1.84 GHz:0.04%, 1.92 GHz:0.04%, 2.00 GHz:0.02%, 2.09 
GHz:0.03%, 2.17 GHz:0.02%, 2.25 GHz:0.02%, 2.32 GHz:0.01%, 2.40 
GHz:0.02%, 2.48 GHz:0.02%, 2.55 GHz:0.02%, 2.65 GHz:0.02%, 2.75 
GHz:0.02%, 2.84 GHz:44.38%, 2.96 GHz:0.00%  (8066)



After removing this patchset, and rebooting and just compiling zellij:

analyzing CPU 4:
   driver: qcom-cpufreq-hw
   CPUs which run at the same hardware frequency: 4 5 6 7
   CPUs which need to have their frequency coordinated by software: 4 5 6 7
   maximum transition latency: 4294.55 ms.
   hardware limits: 826 MHz - 2.96 GHz
   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 
GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 
GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 
GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz
   available cpufreq governors: ondemand, conservative, powersave, 
userspace, performance, schedutil
   current policy: frequency should be within 826 MHz and 2.84 GHz.
                   The governor "schedutil" may decide which speed to use
                   within this range.
   current CPU frequency is 2.84 GHz.
   cpufreq stats: 826 MHz:16.01%, 902 MHz:0.08%, 979 MHz:0.05%, 1.06 
GHz:0.06%, 1.21 GHz:0.37%, 1.29 GHz:0.17%, 1.36 GHz:0.15%, 1.46 
GHz:0.20%, 1.54 GHz:0.18%, 1.61 GHz:0.21%, 1.69 GHz:0.17%, 1.77 
GHz:0.22%, 1.84 GHz:0.32%, 1.92 GHz:0.37%, 2.00 GHz:0.22%, 2.09 
GHz:0.20%, 2.17 GHz:0.20%, 2.25 GHz:0.19%, 2.32 GHz:0.19%, 2.40 
GHz:0.21%, 2.48 GHz:0.18%, 2.55 GHz:0.18%, 2.65 GHz:0.21%, 2.75 
GHz:0.16%, 2.84 GHz:79.49%, 2.96 GHz:0.03%  (5315)
analyzing CPU 5:
   driver: qcom-cpufreq-hw
   CPUs which run at the same hardware frequency: 4 5 6 7
   CPUs which need to have their frequency coordinated by software: 4 5 6 7
   maximum transition latency: 4294.55 ms.
   hardware limits: 826 MHz - 2.96 GHz
   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 
GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 
GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 
GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz
   available cpufreq governors: ondemand, conservative, powersave, 
userspace, performance, schedutil
   current policy: frequency should be within 826 MHz and 2.84 GHz.
                   The governor "schedutil" may decide which speed to use
                   within this range.
   current CPU frequency is 2.84 GHz.
   cpufreq stats: 826 MHz:16.01%, 902 MHz:0.08%, 979 MHz:0.05%, 1.06 
GHz:0.06%, 1.21 GHz:0.37%, 1.29 GHz:0.17%, 1.36 GHz:0.15%, 1.46 
GHz:0.20%, 1.54 GHz:0.18%, 1.61 GHz:0.21%, 1.69 GHz:0.17%, 1.77 
GHz:0.22%, 1.84 GHz:0.32%, 1.92 GHz:0.37%, 2.00 GHz:0.22%, 2.09 
GHz:0.20%, 2.17 GHz:0.20%, 2.25 GHz:0.19%, 2.32 GHz:0.19%, 2.40 
GHz:0.21%, 2.48 GHz:0.18%, 2.55 GHz:0.18%, 2.65 GHz:0.21%, 2.75 
GHz:0.16%, 2.84 GHz:79.49%, 2.96 GHz:0.03%  (5315)
analyzing CPU 6:
   driver: qcom-cpufreq-hw
   CPUs which run at the same hardware frequency: 4 5 6 7
   CPUs which need to have their frequency coordinated by software: 4 5 6 7
   maximum transition latency: 4294.55 ms.
   hardware limits: 826 MHz - 2.96 GHz
   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 
GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 
GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 
GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz
   available cpufreq governors: ondemand, conservative, powersave, 
userspace, performance, schedutil
   current policy: frequency should be within 826 MHz and 2.84 GHz.
                   The governor "schedutil" may decide which speed to use
                   within this range.
   current CPU frequency is 2.84 GHz.
   cpufreq stats: 826 MHz:16.01%, 902 MHz:0.08%, 979 MHz:0.05%, 1.06 
GHz:0.06%, 1.21 GHz:0.37%, 1.29 GHz:0.17%, 1.36 GHz:0.15%, 1.46 
GHz:0.20%, 1.54 GHz:0.18%, 1.61 GHz:0.21%, 1.69 GHz:0.17%, 1.77 
GHz:0.22%, 1.84 GHz:0.32%, 1.92 GHz:0.37%, 2.00 GHz:0.22%, 2.09 
GHz:0.20%, 2.17 GHz:0.20%, 2.25 GHz:0.19%, 2.32 GHz:0.19%, 2.40 
GHz:0.21%, 2.48 GHz:0.18%, 2.55 GHz:0.18%, 2.65 GHz:0.21%, 2.75 
GHz:0.16%, 2.84 GHz:79.49%, 2.96 GHz:0.03%  (5315)
analyzing CPU 7:
   driver: qcom-cpufreq-hw
   CPUs which run at the same hardware frequency: 4 5 6 7
   CPUs which need to have their frequency coordinated by software: 4 5 6 7
   maximum transition latency: 4294.55 ms.
   hardware limits: 826 MHz - 2.96 GHz
   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 
GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 
GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 
GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz
   available cpufreq governors: ondemand, conservative, powersave, 
userspace, performance, schedutil
   current policy: frequency should be within 826 MHz and 2.84 GHz.
                   The governor "schedutil" may decide which speed to use
                   within this range.
   current CPU frequency is 2.84 GHz.
   cpufreq stats: 826 MHz:16.01%, 902 MHz:0.08%, 979 MHz:0.05%, 1.06 
GHz:0.06%, 1.21 GHz:0.37%, 1.29 GHz:0.17%, 1.36 GHz:0.15%, 1.46 
GHz:0.20%, 1.54 GHz:0.18%, 1.61 GHz:0.21%, 1.69 GHz:0.17%, 1.77 
GHz:0.22%, 1.84 GHz:0.32%, 1.92 GHz:0.37%, 2.00 GHz:0.22%, 2.09 
GHz:0.20%, 2.17 GHz:0.20%, 2.25 GHz:0.19%, 2.32 GHz:0.19%, 2.40 
GHz:0.21%, 2.48 GHz:0.18%, 2.55 GHz:0.18%, 2.65 GHz:0.21%, 2.75 
GHz:0.16%, 2.84 GHz:79.49%, 2.96 GHz:0.03%  (5315)

quoted
Thank you for the fast response!

-- steev
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help