You are not logged in.

#1 2020-06-26 06:22:57

xuyanf66
Member
Registered: 2020-06-26
Posts: 3

CPU Frequency cannot reach min_freq ?

Hi,
Im using Acer Swift-31452, with Intel i5-7200U. I have disabled intel_pstate and I'm using cpupower with acpi driver instead.
The thing is I'm not sure why my cpu won't be adjusted to the scaling_min_freq.

This is the output of "cpupower frequency-info" without root:

[awse@manjaroOnUSB ~]$ cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us
  hardware limits: 400 MHz - 2.60 GHz
  available frequency steps:  2.60 GHz, 2.60 GHz, 2.50 GHz, 2.40 GHz, 2.20 GHz, 2.00 GHz, 1.90 GHz, 1.70 GHz, 1.50 GHz, 1.40 GHz, 1.20 GHz, 1.10 GHz, 800 MHz, 700 MHz, 600 MHz, 400 MHz
  available cpufreq governors: conservative performance schedutil
  current policy: frequency should be within 400 MHz and 2.60 GHz.
                  The governor "conservative" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 800 MHz (asserted by call to kernel)
  boost state support:
    Supported: no
    Active: no

This is the output of "cpupower frequency-info" with root:

[awse@manjaroOnUSB ~]$ sudo cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us
  hardware limits: 400 MHz - 2.60 GHz
  available frequency steps:  2.60 GHz, 2.60 GHz, 2.50 GHz, 2.40 GHz, 2.20 GHz, 2.00 GHz, 1.90 GHz, 1.70 GHz, 1.50 GHz, 1.40 GHz, 1.20 GHz, 1.10 GHz, 800 MHz, 700 MHz, 600 MHz, 400 MHz
  available cpufreq governors: conservative performance schedutil
  current policy: frequency should be within 400 MHz and 2.60 GHz.
                  The governor "conservative" may decide which speed to use
                  within this range.
  current CPU frequency: 400 MHz (asserted by call to hardware)
  boost state support:
    Supported: no
    Active: no

There was almost no load both when I run the code above. Theoretically, the cpu frequency should be adjusted to 400MHz under zero load, with 400MHz available and the scaling_min_freq already set to 400MHz.
*****************
I don't know why the  current CPU frequency  asserted by call to hardware is different from that asserted by call to kernel, under the same zero-load condition ?
Which one is the real freq ?
*****************

when I run " watch grep \"cpu MHz\" /proc/cpuinfo", I get :

Every 2.0s: grep ...  manjaroOnUSB: Fri Jun 26 14:03:58 2020

cpu MHz         : 799.984
cpu MHz         : 800.013
cpu MHz         : 800.024
cpu MHz         : 800.018

This seems the same as the freq asserted by call to kernel. If the 800MHz is the real current cpu freq, why it can't go down to 400MHz with zero load, even I change the governor to "powersave" ?
By the way, when I test my cpu under full-load condition, the current CPU freq will rise to max_freq, which are the same both watching by hardware and by kernel. I also checked my BIOS settings, there was nothing related to CPU.

If anyone has an idea, Please help me out, thanks a lot !

Offline

#2 2020-06-26 06:33:53

Awebb
Member
Registered: 2010-05-06
Posts: 6,282

Re: CPU Frequency cannot reach min_freq ?

Is ManjaroOnUSB Manjaro or Arch. If it's Manjaro, you should ask over there, because we have no idea, what patches and settings the Manjaro folks use.

Offline

#3 2020-06-26 07:43:15

Ropid
Member
Registered: 2015-03-09
Posts: 1,069

Re: CPU Frequency cannot reach min_freq ?

There's a "turbostat" package with a "turbostat" tool that reads data out of the CPU hardware, so whatever it sees is hopefully what the CPU is really doing.

The turbostat tools prints a lot of stuff. Here's a command line that disables most of its normal output:

sudo turbostat --show CPU,Busy%,Avg_MHz,Bzy_MHz --quiet --interval 2

The "Bzy_MHz" column is the one that shows the speed the CPU is using when it's running.

Last edited by Ropid (2020-06-26 07:44:52)

Offline

#4 2020-06-26 16:29:48

xuyanf66
Member
Registered: 2020-06-26
Posts: 3

Re: CPU Frequency cannot reach min_freq ?

Ropid wrote:

There's a "turbostat" package with a "turbostat" tool that reads data out of the CPU hardware, so whatever it sees is hopefully what the CPU is really doing.

The turbostat tools prints a lot of stuff. Here's a command line that disables most of its normal output:

sudo turbostat --show CPU,Busy%,Avg_MHz,Bzy_MHz --quiet --interval 2

The "Bzy_MHz" column is the one that shows the speed the CPU is using when it's running.

Thanks, I've run the command, and it reported about 800MHz. seems it indeed can't go down to 400 right ? But why ...

Offline

#5 2020-06-26 16:33:15

Awebb
Member
Registered: 2010-05-06
Posts: 6,282

Re: CPU Frequency cannot reach min_freq ?

800 MHz is the configurable TDP-down of your CPU. Look up the product sheet on the Intel website.

Edit: By the way: Research governors on modern Intel platforms and why playing with it is not really helpful.

Last edited by Awebb (2020-06-26 16:34:22)

Offline

#6 2020-06-27 03:17:27

xuyanf66
Member
Registered: 2020-06-26
Posts: 3

Re: CPU Frequency cannot reach min_freq ?

Awebb wrote:

800 MHz is the configurable TDP-down of your CPU. Look up the product sheet on the Intel website.

Edit: By the way: Research governors on modern Intel platforms and why playing with it is not really helpful.

OH, I see. Then everything make sense.
Thank u very much !

Offline

Board footer

Powered by FluxBB