Re: [PATCH v1 0/5] CPUFREQ OPP's and Tegra30 support by tegra20-cpufreq driver

Dmitry Osipenko
2018-09-14T10:30:27Z

On 9/11/18 11:27 AM, Marcel Ziswiler wrote:
> On Fri, 2018-09-07 at 19:59 +0300, Dmitry Osipenko wrote:
>
> - snip -
>
>>> - With "cpufreq-info -f" I could only observe like the top 3-4 OPPs
>>> while it does not to go further down even when idling. Why could
>>> that
>>> be resp. what could cause this?
>>
>> What cpufreq governor are you using?
>
> ondemand
>
>> Here is my 'cpufreq-info --stats' output from Tegra30 after a several
>> minutes of idling after boot:
>>
>> 408000:245884, 456000:445, 608000:251, 760000:151, 816000:82,
>> 912000:75, 1000000:163 (561)
>>
>> And full cpufreq-info:
>>
>> cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
>> Report errors and bugs to cpufreq@vger.kernel.org, please.
>> analyzing CPU 0:
>> driver: tegra
>> CPUs which run at the same hardware frequency: 0 1 2 3
>> CPUs which need to have their frequency coordinated by software: 0
>> 1 2 3
>> maximum transition latency: 50.0 us.
>> hardware limits: 408 MHz - 1000 MHz
>> available frequency steps: 408 MHz, 456 MHz, 608 MHz, 760 MHz, 816
>> MHz, 912 MHz, 1000 MHz
>> available cpufreq governors: conservative, userspace, powersave,
>> ondemand, performance, schedutil
>> current policy: frequency should be within 408 MHz and 1000 MHz.
>> The governor "ondemand" may decide which speed to
>> use
>> within this range.
>> current CPU frequency is 608 MHz (asserted by call to hardware).
>> cpufreq stats: 408 MHz:99.53%, 456 MHz:0.18%, 608 MHz:0.10%, 760
>> MHz:0.06%, 816 MHz:0.03%, 912 MHz:0.03%, 1000 MHz:0.07% (563)
>> analyzing CPU 1:
>> driver: tegra
>> CPUs which run at the same hardware frequency: 0 1 2 3
>> CPUs which need to have their frequency coordinated by software: 0
>> 1 2 3
>> maximum transition latency: 50.0 us.
>> hardware limits: 408 MHz - 1000 MHz
>> available frequency steps: 408 MHz, 456 MHz, 608 MHz, 760 MHz, 816
>> MHz, 912 MHz, 1000 MHz
>> available cpufreq governors: conservative, userspace, powersave,
>> ondemand, performance, schedutil
>> current policy: frequency should be within 408 MHz and 1000 MHz.
>> The governor "ondemand" may decide which speed to
>> use
>> within this range.
>> current CPU frequency is 608 MHz (asserted by call to hardware).
>> cpufreq stats: 408 MHz:99.53%, 456 MHz:0.18%, 608 MHz:0.10%, 760
>> MHz:0.06%, 816 MHz:0.03%, 912 MHz:0.03%, 1000 MHz:0.07% (563)
>> analyzing CPU 2:
>> driver: tegra
>> CPUs which run at the same hardware frequency: 0 1 2 3
>> CPUs which need to have their frequency coordinated by software: 0
>> 1 2 3
>> maximum transition latency: 50.0 us.
>> hardware limits: 408 MHz - 1000 MHz
>> available frequency steps: 408 MHz, 456 MHz, 608 MHz, 760 MHz, 816
>> MHz, 912 MHz, 1000 MHz
>> available cpufreq governors: conservative, userspace, powersave,
>> ondemand, performance, schedutil
>> current policy: frequency should be within 408 MHz and 1000 MHz.
>> The governor "ondemand" may decide which speed to
>> use
>> within this range.
>> current CPU frequency is 608 MHz (asserted by call to hardware).
>> cpufreq stats: 408 MHz:99.53%, 456 MHz:0.18%, 608 MHz:0.10%, 760
>> MHz:0.06%, 816 MHz:0.03%, 912 MHz:0.03%, 1000 MHz:0.07% (563)
>> analyzing CPU 3:
>> driver: tegra
>> CPUs which run at the same hardware frequency: 0 1 2 3
>> CPUs which need to have their frequency coordinated by software: 0
>> 1 2 3
>> maximum transition latency: 50.0 us.
>> hardware limits: 408 MHz - 1000 MHz
>> available frequency steps: 408 MHz, 456 MHz, 608 MHz, 760 MHz, 816
>> MHz, 912 MHz, 1000 MHz
>> available cpufreq governors: conservative, userspace, powersave,
>> ondemand, performance, schedutil
>> current policy: frequency should be within 408 MHz and 1000 MHz.
>> The governor "ondemand" may decide which speed to
>> use
>> within this range.
>> current CPU frequency is 608 MHz (asserted by call to hardware).
>> cpufreq stats: 408 MHz:99.53%, 456 MHz:0.18%, 608 MHz:0.10%, 760
>> MHz:0.06%, 816 MHz:0.03%, 912 MHz:0.03%, 1000 MHz:0.07% (563)
>>
>>
>>> - Unfortunately "cpufreq-info --stats" currently does not seem to
>>> output anything. Would that require something special to be
>>> implemented?
>>
>> Make sure that CONFIG_CPU_FREQ_STAT is enabled in the kernels config.
>
> Yes, sorry. That was it, of course. Just wondering why that one isn't
> enabled in tegra_defconfig...

That option isn't essential for the kernel, though usually such useful and
low-overhead features are welcome. IIRC, tegra_defconfig misses more important
options (like namespaces) that are required by Linux distro's to work properly.

>>> Other than that you may add the following to the whole series:
>>>
>>> Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>>
>> Thank you very much!
>
> You are very welcome. Thank you!
>