I will now explain the options in every case, you should test them first in mode temporal (i mean adding temporally one or 2 parameter to the boot kernel parameters to check if they do work to do they permanent in case positive. To add temporally parameters to kernel read this article
Lets start:
A) You are using the driver intel_idle
Here you have 2 options
- A.1) Fix the max c-statet to this driver (best option)
You need add to this parameter to the boot:
intel_idle.max_cstate=1
note: set intel_idle.max_cstate=n (n= 1 to 6), then intel_idle is enabled and maximum cstate is set to n
- A.2) Disable intel_idle drive to force to use acpi_idle and fix processor.max_cstate=1
You need add to these 2 parameters to the boot:
intel_idle.max_cstate=0 processor.max_cstate=1
note: set intel_idle.max_cstate=0 will disable intel_idle driver and processor.max_cstate=n (n= 1 to 6), maximum cstate is set to n
B) You are using the driver acpi_idle
You need add to this parameter to the boot:
processor.max_cstate=1
Note: Sometimes the best way is disable cstate in BIOS so that you don’t need do anything but sometimes the kernel trough the intel_idle driver is overriding the BIOS parameter so maybe be that if you just disable this in the BIOS it didn’t result enough and you need add this parameters in anyway .
Like said before test this parameter in mode temporal never permanent check what of them do work to you and when you know what is the best alternative you can do they permanent.
Now I will post some links that i did take of reference:
https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c03132537
Regards