Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP4:GA
tuned
tuned_do_check_if_cpu_is_online.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File tuned_do_check_if_cpu_is_online.patch of Package tuned
From: Jaroslav Škarvada <jskarvad@redhat.com> Subject: plugin_cpu: skip offline CPUs References: bsc#1093694 Patch-Mainline: v2.5.0 Git-commit: 516dc1c168847a58d4ed7d19f1875932860e3814 Git-repo: git://github.com/redhat-performance/tuned Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com> Signed-off-by: Thomas Renninger <trenn@suse.com> Index: tuned-2.4.1/tuned/plugins/plugin_cpu.py =================================================================== --- tuned-2.4.1.orig/tuned/plugins/plugin_cpu.py 2018-06-27 15:34:46.198895619 +0200 +++ tuned-2.4.1/tuned/plugins/plugin_cpu.py 2018-06-27 15:38:04.245917430 +0200 @@ -72,6 +72,11 @@ class CPULatencyPlugin(base.Plugin): if self._has_intel_pstate: log.info("intel_pstate detected") + def _is_cpu_online(self, device): + sd = str(device) + # CPU0 is always online + return sd == "cpu0" or self._cmd.read_file("/sys/devices/system/cpu/%s/online" % sd).strip() == "1" + def _instance_init(self, instance): instance._has_static_tuning = True instance._has_dynamic_tuning = False @@ -171,6 +176,9 @@ class CPULatencyPlugin(base.Plugin): @command_set("governor", per_device=True) def _set_governor(self, governor, device): + if not self._is_cpu_online(device): + log.debug("%s is not online, skipping" % device) + return None if governor not in self._get_available_governors(device): log.info("ignoring governor '%s' on cpu '%s', it is not supported" % (governor, device)) return @@ -184,6 +192,9 @@ class CPULatencyPlugin(base.Plugin): @command_get("governor") def _get_governor(self, device): governor = None + if not self._is_cpu_online(device): + log.debug("%s is not online, skipping" % device) + return None if self._has_cpupower: cpu_id = device.lstrip("cpu") retcode, lines = self._cmd.execute(["cpupower", "-c", cpu_id, "frequency-info", "-p"]) @@ -208,6 +219,9 @@ class CPULatencyPlugin(base.Plugin): @command_set("energy_perf_bias", per_device=True) def _set_energy_perf_bias(self, energy_perf_bias, device): + if not self._is_cpu_online(device): + log.debug("%s is not online, skipping" % device) + return None if self._has_cpupower is True: bias_str = str(energy_perf_bias) if bias_str == "performance": @@ -226,6 +240,9 @@ class CPULatencyPlugin(base.Plugin): @command_get("energy_perf_bias") def _get_energy_perf_bias(self, device): energy_perf_bias = None + if not self._is_cpu_online(device): + log.debug("%s is not online, skipping" % device) + return None if self._has_cpupower is True: cpu_id = device.lstrip("cpu") retcode, lines = self._cmd.execute(["cpupower", "-c", cpu_id, "info", "-b"])
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor