You are not logged in.

#1 2020-06-01 10:03:08

Zibi1981
Member
From: Poland
Registered: 2008-01-31
Posts: 628

Intel SpeedShift aka Hardware P-states under Linux

This is my machine

$ uname -a 
Linux titanlinux 5.6.15-arch1-1 #1 SMP PREEMPT Wed, 27 May 2020 23:42:26 +0000 x86_64 GNU/Linux

$ less /proc/cpuinfo | grep model\ name 
model name      : Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz

As you can see, I have a Coffe Lake family CPU, in which Speed Shift aka HWP technology has been implemented, and I am able to turn it on under Windows 10, i.e. with Quick CPU.

I did some reading, and I found, that HWP has been implemented in Linux kernel since version 4.12. by intel_pstate module, which should be loaded automatically.

(...)If the processor supports the HWP feature, it will be enabled during the processor initialization and cannot be disabled after that. (...)

Howevere when it was first released, it was said:

(...)Note, however, that some of those processors may not be supported.(...)

My question is if my contemporary kernel support HWP on my CPU? Seems to me not out-of-the-box, as this shows

$ lsmod | grep intel
intel_rapl_msr         20480  0
intel_rapl_common      32768  1 intel_rapl_msr
intel_wmi_thunderbolt    20480  0
intel_powerclamp       20480  0
snd_sof_intel_byt      20480  1 snd_sof_pci
snd_sof_intel_ipc      20480  1 snd_sof_intel_byt
snd_sof_intel_hda_common    81920  1 snd_sof_pci
kvm_intel             331776  0
snd_soc_hdac_hda       24576  1 snd_sof_intel_hda_common
snd_sof_xtensa_dsp     16384  2 snd_sof_intel_hda_common,snd_sof_intel_byt
snd_sof_intel_hda      20480  1 snd_sof_intel_hda_common
snd_sof               126976  4 snd_sof_pci,snd_sof_intel_hda_common,snd_sof_intel_byt,snd_sof_intel_ipc
kvm                   827392  1 kvm_intel
snd_hda_ext_core       36864  4 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
snd_soc_acpi_intel_match    40960  3 snd_sof_pci,snd_sof_intel_hda_common,snd_soc_skl
snd_soc_acpi           16384  4 snd_soc_acpi_intel_match,snd_sof_intel_hda_common,snd_sof_intel_byt,snd_soc_skl
snd_soc_core          299008  4 snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl
snd_hda_intel          57344  3
btintel                32768  1 btusb
snd_intel_dspcfg       28672  4 snd_hda_intel,snd_sof_pci,snd_sof_intel_hda_common,snd_soc_skl
ghash_clmulni_intel    16384  0
bluetooth             696320  43 btrtl,btintel,btbcm,bnep,btusb,rfcomm
snd_hda_codec         167936  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
aesni_intel           368640  16
snd_hda_core          106496  10 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
crypto_simd            16384  1 aesni_intel
cryptd                 24576  5 crypto_simd,ghash_clmulni_intel
glue_helper            16384  1 aesni_intel
intel_cstate           16384  0
intel_spi_pci          16384  0
intel_uncore          147456  0
intel_spi              24576  1 intel_spi_pci
snd_pcm               147456  9 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_sof,snd_sof_intel_hda_common,snd_soc_core,snd_soc_skl,snd_hda_core,snd_pcm_dmaengine
intel_rapl_perf        16384  0
spi_nor                65536  1 intel_spi
mtd                    77824  6 spi_nor,cmdlinepart,intel_spi,ofpart
snd                   114688  20 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm
intel_pch_thermal      16384  0
wmi                    36864  4 intel_wmi_thunderbolt,wmi_bmof,msi_wmi,mxm_wmi

As you see above, intel_cstate not intel_pstate module is loaded.


"... being a Linux user is sort of like living in a house inhabited by a large family of carpenters and architects. Every morning when you wake up, the house is a little different. Maybe there is a new turret, or some walls have moved. Or perhaps someone has temporarily removed the floor under your bed."

MSI Raider GE78HX 13VI-032PL

Offline

#2 2020-06-01 10:16:41

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,427

Re: Intel SpeedShift aka Hardware P-states under Linux

intel_pstate is not a module, it's internal to the kernel and will activate on supported HW.

sudo journalctl -b | grep pstate

is a better immediate check or check the sysfs paths.

All of this is in the documentation you yourself linked, read it a bit more closely to check what is actually true for your hardware.

Last edited by V1del (2020-06-01 10:17:37)

Offline

#3 2020-06-01 10:57:47

Zibi1981
Member
From: Poland
Registered: 2008-01-31
Posts: 628

Re: Intel SpeedShift aka Hardware P-states under Linux

Thank you for clearing that out - seems like HWP is on...

$ sudo journalctl -b | grep pstate
[sudo] hasło użytkownika zbyszek: 
cze 01 10:59:10 titanlinux kernel: intel_pstate: Intel P-state driver initializing
cze 01 10:59:10 titanlinux kernel: intel_pstate: Disabling energy efficiency optimization
cze 01 10:59:10 titanlinux kernel: intel_pstate: HWP enabled

...but if that's true, then what intel_cstate module is responsible for?

P.S. The command you gave doesn't seem to be found anywhere in the document I've linked.


"... being a Linux user is sort of like living in a house inhabited by a large family of carpenters and architects. Every morning when you wake up, the house is a little different. Maybe there is a new turret, or some walls have moved. Or perhaps someone has temporarily removed the floor under your bed."

MSI Raider GE78HX 13VI-032PL

Offline

Board footer

Powered by FluxBB