Mini Shell
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
Zerion Mini Shell 1.0