- Update to 2.5.1 * plugin_scheduler: work with nohz_full (rhbz#1247184) * fixed realtime-virtual-guest/host profiles packaged twice (rhbz#1249028) * fixed requirements of realtime and nfv profiles * fixed tuned-gui not starting (boo#937647) * various other minor fixes OBS-URL: https://build.opensuse.org/request/show/323671 OBS-URL: https://build.opensuse.org/package/show/Base:System/tuned?expand=0&rev=37
63 lines
2.2 KiB
Diff
63 lines
2.2 KiB
Diff
Index: tuned-2.5.1/tuned/plugins/plugin_cpu.py
|
|
===================================================================
|
|
--- tuned-2.5.1.orig/tuned/plugins/plugin_cpu.py
|
|
+++ tuned-2.5.1/tuned/plugins/plugin_cpu.py
|
|
@@ -108,7 +108,8 @@ class CPULatencyPlugin(base.Plugin):
|
|
# Check for cpupower, use workaround if not available
|
|
self._check_cpupower()
|
|
# Check for x86_energy_perf_policy, ignore if not available / supported
|
|
- self._check_energy_perf_bias()
|
|
+ if self._has_cpupower is False:
|
|
+ self._check_energy_perf_bias()
|
|
# Check for intel_pstate
|
|
self._check_intel_pstate()
|
|
else:
|
|
@@ -234,7 +235,17 @@ class CPULatencyPlugin(base.Plugin):
|
|
if not self._is_cpu_online(device):
|
|
log.debug("%s is not online, skipping" % device)
|
|
return None
|
|
- if self._has_energy_perf_bias:
|
|
+ if self._has_cpupower is True:
|
|
+ bias_str = str(energy_perf_bias)
|
|
+ if bias_str == "performance":
|
|
+ bias_str = "0"
|
|
+ elif bias_str == "powersave":
|
|
+ bias_str = "15"
|
|
+ elif bias_str == "normal":
|
|
+ bias_str = "6"
|
|
+ cpu_id = device.lstrip("cpu")
|
|
+ self._cmd.execute(["cpupower", "-c", cpu_id, "set", "-b", bias_str])
|
|
+ elif self._has_energy_perf_bias:
|
|
if not sim:
|
|
cpu_id = device.lstrip("cpu")
|
|
log.info("setting energy_perf_bias '%s' on cpu '%s'" % (energy_perf_bias, device))
|
|
@@ -262,14 +273,21 @@ class CPULatencyPlugin(base.Plugin):
|
|
if not self._is_cpu_online(device):
|
|
log.debug("%s is not online, skipping" % device)
|
|
return None
|
|
- if self._has_energy_perf_bias:
|
|
+ if self._has_cpupower is True:
|
|
+ cpu_id = device.lstrip("cpu")
|
|
+ retcode, lines = self._cmd.execute(["cpupower", "-c", cpu_id, "info", "-b"])
|
|
+ elif self._has_energy_perf_bias:
|
|
cpu_id = device.lstrip("cpu")
|
|
retcode, lines = self._cmd.execute(["x86_energy_perf_policy", "-c", cpu_id, "-r"])
|
|
- if retcode == 0:
|
|
- for line in lines.splitlines():
|
|
- l = line.split()
|
|
- if len(l) == 2:
|
|
- energy_perf_bias = self._energy_perf_policy_to_human(l[1])
|
|
- break
|
|
+ else:
|
|
+ return None
|
|
+ if retcode == 0:
|
|
+ for line in lines.splitlines():
|
|
+ if line.startswith("analyzing CPU"):
|
|
+ continue
|
|
+ l = line.split()
|
|
+ if len(l) == 2:
|
|
+ energy_perf_bias = l[1]
|
|
+ break
|
|
|
|
return energy_perf_bias
|