1
0
Fork 0

Merge pull request #614 from sabbir-47/add-pstate-function

Added intel_recommended_pstate builtin function.
This commit is contained in:
Jaroslav Škarvada 2024-03-24 23:58:47 +01:00 committed by GitHub
commit fcb297514c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 41 additions and 0 deletions

View file

@ -55,3 +55,6 @@ Unpacks a CPU list in the form of `1-3,4` to `1,2,3,4`.
`cpulist_pack`::
Packs a CPU list in the form of `1,2,3,5` to `1-3,5`.
`intel_recommended_pstate`::
Returns recommended intel_pstate CPUFreq driver mode based on processor generation.

View file

@ -0,0 +1,38 @@
from . import base
PROCESSOR_NAME = ("sandybridge",
"ivybridge",
"haswell",
"broadwell",
"skylake")
PMU_PATH = "/sys/devices/cpu/caps/pmu_name"
ACTIVE = "active"
DISABLE = "disable"
class intel_recommended_pstate(base.Function):
"""
Checks the processor code name and return the recommended
intel_pstate CPUFreq driver mode. Active is returned for the
newer generation of processors not in the PROCESSOR_NAME list.
Intel recommends to use the intel_pstate CPUFreq driver
in active mode with HWP enabled on Ice Lake and later
generations processors. This function allows dynamically
setting intel_pstate based on the processor's model.
For pre-IceLake processors setting pstate to active
can introduce jitters which were historically seen around
and tested with RHEL-7.4. From IceLake generation, intel
has fixed these issues.
"""
def __init__(self):
super(intel_recommended_pstate, self).__init__("intel_recommended_pstate", 0)
def execute(self, args):
if not super(intel_recommended_pstate, self).execute(args):
return None
current_processor_name = self._cmd.read_file(PMU_PATH).strip()
if current_processor_name == "" or current_processor_name in PROCESSOR_NAME:
return DISABLE
return ACTIVE