CPU Pstate 详解

前言

P-states(performance stats).

System UEFI P-State control methods

以Lenovo ThinkSystem服务器为例,在机器POST过程中按F1进入UEFI界面,可以访问CPU Pstate的设置,如下所示:


Pstate不同设置的含义

Autonomous (default)

This mode is part of Intel’s Hardware Power Management (HWPM) feature and is the default in ThinkSystem servers. With the Autonomous selection, the P-states are completely controlled by system hardware. From the operating system's perspective, there are no P-states and the OS always thinks the processor is running at its rated frequency. The processor’s efficiency is totally dependent on Intel’s hardware management engine (ME) implementation.

Legacy

When Legacy is selected, the processor P-states will be presented to the OS and the OS power management (OSPM) will directly control which P-state is selected. Legacy provides slightly higher latency than Autonomous since its desired frequency is calculated by the OS. It is also useful on older OSes that don't support Cooperative mode and older hardware without HWPM support.

Cooperative

Cooperative mode is also part of Intel’s HWPM feature. Cooperative mode is a combination of Autonomous and Legacy modes. Like Autonomous mode, the P-states are still controlled by the system hardware. However, in Cooperative mode, the OS is aware that different processor operating frequencies exist and it can provide hints to the system hardware for the minimum, desired, and maximum P-states.

The system hardware does not always have to honor the OS requested P-state however. The final P-state chosen is influenced by the Power/Performance Bias setting which is configurable under the Operating Modes menu panel  and also the current condition of the processor (power draw, temperature, number of active cores).

For more details about Power/Performance Bias, see “Power bias and performance bias”  of the Lenovo Press paper, Energy Efficiency Features of Lenovo

ThinkSystem Servers: https://lenovopress.com/lp0780-energy-efficiency-features-thinksystem

Newer OSes (for example, Windows Server 2016, RHEL 7.x, Ubuntu 15.x, Linux kernel 3.19 and higher) are required to take advantage of cooperative P-states. If Cooperative is selected on an older OS that doesn't support it, the system will fall back to Autonomous mode.

None

When P-states are set to None, P-states are completely disabled and the processors run at either their rated frequency or in turbo mode (if Turbo Boost is enabled). None is the best choice when the absolute lowest latency and highest performance are desired. The trade-off is that power consumption is higher.

Linux系统下Pstate的测试

Autonomous (default)

This mode is part of Intel’s Hardware Power Management (HWPM) feature and is the default in ThinkSystem servers. With the Autonomous selection, the P-states are completely controlled by system hardware. From the operating system's perspective, there are no P-states and the OS always thinks the processor is running at its rated frequency. The processor’s efficiency is totally dependent on Intel’s hardware management engine (ME) implementation.

When the P-state control is set to Autonomous in UEFI, there will be no CPU frequency driver loaded into OS either.  As shown in Figure , it is similar to None, but processor frequency selection will be handled by the Intel ME alone and independent of any software including the OS.

UEFI setting

Processors.TurboMode=Enable

Processors.CPUPstateControl=Autonomous

Processors.EnergyEfficientTurbo=Enable

turbostat


cpudriver

[root@localhost ~]# cpupower frequency-info

analyzing CPU 0:

  no or unknown cpufreq driver is active on this CPU

  CPUs which run at the same hardware frequency: Not Available

  CPUs which need to have their frequency coordinated by software: Not Available

  maximum transition latency:  Cannot determine or is not supported.

  hardware limits: Not Available

  available cpufreq governors: Not Available

  Unable to determine current policy

  current CPU frequency: Unable to call hardware

  current CPU frequency:  Unable to call to kernel

  boost state support:

    Supported: yes

    Active: yes

cpu加压测试


UEFI Setting

Processors.TurboMode=Disable

Processors.CPUPstateControl=Autonomous

Processors.EnergyEfficientTurbo=Enable

Turbostat


CPU driver 

[root@localhost ~]# cpupower frequency-info

analyzing CPU 0:

  no or unknown cpufreq driver is active on this CPU

  CPUs which run at the same hardware frequency: Not Available

  CPUs which need to have their frequency coordinated by software: Not Available

  maximum transition latency:  Cannot determine or is not supported.

  hardware limits: Not Available

  available cpufreq governors: Not Available

  Unable to determine current policy

  current CPU frequency: Unable to call hardware

  current CPU frequency:  Unable to call to kernel

  boost state support:

    Supported: yes

    Active: yes

CPU加压测试


None

When P-states are set to None, P-states are completely disabled and the processors run at either their rated frequency or in turbo mode (if Turbo Boost is enabled). None is the best choice when the absolute lowest latency and highest performance are desired. The trade-off is that power consumption is higher.When the P-state control is set to None in UEFI, there is no CPU frequency driver loaded into the OS. Also, no processor frequency info is implemented into the ACPI related tables. As shown in Figur, we observe neither CPU frequency driver nor P-state info is available to the OS.

Uefi setting

Processors.TurboMode=Disable

Processors.CPUPstateControl=None

Processors.EnergyEfficientTurbo=Enable

Turbostat

Cpu的频率并没有固定在标准频率,(预期应该是固定在标准频率,后续会再对此进行下调查)。


cpudriver

[root@localhost~]# cpupower frequency-info

analyzing CPU 0:

  no or unknown cpufreq driver is active on this CPU

  CPUs which run at the same hardware frequency: Not Available

  CPUs which need to have their frequency coordinated by software: Not Available

  maximum transition latency:  Cannot determine or is not supported.

  hardware limits: Not Available

  available cpufreq governors: Not Available

  Unable to determine current policy

  current CPU frequency: Unable to call hardware

  current CPU frequency:  Unable to call to kernel

  boost state support:

    Supported: no

    Active: no

CPU加压测试


UEFI setting

Processors.TurboMode=Enable

Processors.CPUPstateControl=None

Processors.EnergyEfficientTurbo=Enable

Turbostat


Cpudriver

[root@localhost ~]# cpupower frequency-info

analyzing CPU 0:

  no or unknown cpufreq driver is active on this CPU

  CPUs which run at the same hardware frequency: Not Available

  CPUs which need to have their frequency coordinated by software: Not Available

  maximum transition latency:  Cannot determine or is not supported.

  hardware limits: Not Available

  available cpufreq governors: Not Available

  Unable to determine current policy

  current CPU frequency: Unable to call hardware

  current CPU frequency:  Unable to call to kernel

  boost state support:

    Supported: yes

    Active: yes

cpu加压测试


Legacy

When Legacy is selected, the processor P-states will be presented to the OS and the OS power management (OSPM) will directly control which P-state is selected. Legacy Understanding P-State Control on Intel Xeon Scalable Processors to Maximize Energy Efficiency provides slightly higher latency than Autonomous since its desired frequency is calculated by the OS. It is also useful on older OSes that don't support Cooperative mode and older hardware without HWPM support.

When the P-state control is set to Legacy in UEFI, the acpi-cpufreq driver will be loaded into the OS . P-states will be enabled by UEFI and five governors can be selected. The available governors are:

� conservative

� userspace

� powersave

� ondemand

� performance

UEFI setting

Processors.TurboMode=Enable

Processors.CPUPstateControl=Legacy

Processors.EnergyEfficientTurbo=Enable

cpudriver

[root@localhost ~]# 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: 1000 MHz - 2.10 GHz

  available frequency steps:  2.10 GHz, 2.10 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz

  available cpufreq governors: conservative userspace powersave ondemand performance

  current policy: frequency should be within 1000 MHz and 2.10 GHz.

                  The governor "conservative" may decide which speed to use

                  within this range.

  current CPU frequency: 1.40 GHz (asserted by call to hardware)

  boost state support:

    Supported: yes

    Active: yes

Turbostat


CPU加压测试

cpudriver修改为performance

[root@localhost ~]# 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: 1000 MHz - 2.10 GHz

  available frequency steps:  2.10 GHz, 2.10 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz

  available cpufreq governors: conservative userspace powersave ondemand performance

  current policy: frequency should be within 1000 MHz and 2.10 GHz.

                  The governor "performance" may decide which speed to use

                  within this range.

  current CPU frequency: 2.10 GHz (asserted by call to hardware)

  boost state support:

    Supported: yes

    Active: yes


CPU加压测试


cpudriver修改为powersave

[root@localhost ~]# 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: 1000 MHz - 2.10 GHz

  available frequency steps:  2.10 GHz, 2.10 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz

  available cpufreq governors: conservative userspace powersave ondemand performance

  current policy: frequency should be within 1000 MHz and 2.10 GHz.

                  The governor "powersave" may decide which speed to use

                  within this range.

  current CPU frequency: 1000 MHz (asserted by call to hardware)

  boost state support:

    Supported: yes

    Active: yes


CPU加压测试


cpudriver修改为userspace

[root@localhost ~]# cpupower frequency-set userspace -f 1218MHZ

[root@localhost~]# 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: 1000 MHz - 2.10 GHz

  available frequency steps:  2.10 GHz, 2.10 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz

  available cpufreq governors: conservative userspace powersave ondemand performance

  current policy: frequency should be within 1000 MHz and 2.10 GHz.

                  The governor "userspace" may decide which speed to use

                  within this range.

  current CPU frequency: 1.30 GHz (asserted by call to hardware)

  boost state support:

    Supported: yes

    Active: yes


CPU加压测试


Cooperative

Cooperative mode is also part of Intel’s HWPM feature. Cooperative mode is a combination of Autonomous and Legacy modes. Like Autonomous mode, the P-states are still controlled by the system hardware. However, in Cooperative mode, the OS is aware that different processor operating frequencies exist and it can provide hints to the system hardware for the minimum, desired, and maximum P-states. The system hardware does not always have to honor the OS requested P-state however. The final P-state chosen is influenced by the Power/Performance Bias setting which is configurable under the Operating Modes menu panel and also the current condition of the processor (power draw, temperature, number of active cores).

When the P-state control is set to Cooperative in UEFI, the intel_pstate driver will be loaded in the OS. The OS is aware of the processor frequencies from the minimum frequency to maximum turbo frequency . There are only two governors:

� performance (the default)

� powersave

注:在这里需要说明的是操作系统需要开启intel_pstate,如果默认没有开启,则可以添加intel_pstate=1参数, 有的情况下需要添加,有的情况下不需要添加。

UEFI setting

Processors.TurboMode=Enable

Processors.CPUPstateControl=Cooperative

Processors.EnergyEfficientTurbo=Enable

cpupower frequency-info

[root@localhost ~]# cpupower frequency-info

analyzing CPU 0:

  driver: intel_pstate

  CPUs which run at the same hardware frequency: 0

  CPUs which need to have their frequency coordinated by software: 0

  maximum transition latency:  Cannot determine or is not supported.

  hardware limits: 1000 MHz - 3.70 GHz

  available cpufreq governors: performance powersave

  current policy: frequency should be within 1000 MHz and 3.70 GHz.

                  The governor "performance" may decide which speed to use

                  within this range.

  current CPU frequency: 1.01 GHz (asserted by call to hardware)

  boost state support:

    Supported: yes

    Active: yes

turbostat


cpu加压测试


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容