tuned/use_cpupower_for_intel_perf_bias
Thomas Renninger 745f1b62b5 Accepting request 228419 from home:trenn:branches:Base:System
- Use cpupower {info,set} -b to set Intel perf bias value instead of
  x86_energy_perf_policy we do not ship.
  Add use_cpupower_for_intel_perf_bias
- Add rctuned service link in /usr/sbin
- Mark pm-profiler obsoleted by this package

OBS-URL: https://build.opensuse.org/request/show/228419
OBS-URL: https://build.opensuse.org/package/show/Base:System/tuned?expand=0&rev=19
2014-04-01 10:55:46 +00:00

63 lines
2.3 KiB
Plaintext

Index: tuned-2.3.0/tuned/plugins/plugin_cpu.py
===================================================================
--- tuned-2.3.0.orig/tuned/plugins/plugin_cpu.py
+++ tuned-2.3.0/tuned/plugins/plugin_cpu.py
@@ -90,7 +90,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:
@@ -206,7 +207,17 @@ class CPULatencyPlugin(base.Plugin):
@command_set("energy_perf_bias", per_device=True)
def _set_energy_perf_bias(self, energy_perf_bias, device):
- 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")
+ tuned.utils.commands.execute(["cpupower", "-c", cpu_id, "set", "-b", bias_str])
+ elif self._has_energy_perf_bias:
log.info("setting energy_perf_bias '%s' on cpu '%s'" % (energy_perf_bias, device))
cpu_id = device.lstrip("cpu")
tuned.utils.commands.execute(["x86_energy_perf_policy", "-c", cpu_id, str(energy_perf_bias)])
@@ -214,14 +225,21 @@ class CPULatencyPlugin(base.Plugin):
@command_get("energy_perf_bias")
def _get_energy_perf_bias(self, device):
energy_perf_bias = None
- if self._has_energy_perf_bias:
+ if self._has_cpupower is True:
+ cpu_id = device.lstrip("cpu")
+ retcode, lines = tuned.utils.commands.execute(["cpupower", "-c", cpu_id, "info", "-b"])
+ elif self._has_energy_perf_bias:
cpu_id = device.lstrip("cpu")
retcode, lines = tuned.utils.commands.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 = 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