summaryrefslogtreecommitdiffstats
path: root/tools/power/cpupower/utils/cpupower-set.c
diff options
context:
space:
mode:
authorThomas Renninger2015-12-01 17:14:15 +0100
committerRafael J. Wysocki2015-12-03 02:30:30 +0100
commitce512b84045459f4a6c119a109c950c6bc4a6f3a (patch)
tree7dc8c24c52f5b870ce1a6c1a4b09adfdaa0e7d98 /tools/power/cpupower/utils/cpupower-set.c
parentcpupower: Provide STATIC variable in Makefile for debug builds (diff)
downloadkernel-qcow2-linux-ce512b84045459f4a6c119a109c950c6bc4a6f3a.tar.gz
kernel-qcow2-linux-ce512b84045459f4a6c119a109c950c6bc4a6f3a.tar.xz
kernel-qcow2-linux-ce512b84045459f4a6c119a109c950c6bc4a6f3a.zip
cpupower: Do not analyse offlined cpus
Use sysfs_is_cpu_online(cpu) instead of cpufreq_cpu_exists(cpu) to detect offlined cpus. Re-arrange printfs slightly to have a consistent output even if you have multiple CPUs as output and even if offlined cores are in between. Signed-off-by: Thomas Renninger <trenn@suse.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'tools/power/cpupower/utils/cpupower-set.c')
-rw-r--r--tools/power/cpupower/utils/cpupower-set.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/tools/power/cpupower/utils/cpupower-set.c b/tools/power/cpupower/utils/cpupower-set.c
index 3e6f374f8dd7..532f46b9a335 100644
--- a/tools/power/cpupower/utils/cpupower-set.c
+++ b/tools/power/cpupower/utils/cpupower-set.c
@@ -12,7 +12,6 @@
#include <string.h>
#include <getopt.h>
-#include <cpufreq.h>
#include "helpers/helpers.h"
#include "helpers/sysfs.h"
#include "helpers/bitmask.h"
@@ -78,10 +77,15 @@ int cmd_set(int argc, char **argv)
for (cpu = bitmask_first(cpus_chosen);
cpu <= bitmask_last(cpus_chosen); cpu++) {
- if (!bitmask_isbitset(cpus_chosen, cpu) ||
- cpufreq_cpu_exists(cpu))
+ if (!bitmask_isbitset(cpus_chosen, cpu))
continue;
+ if (sysfs_is_cpu_online(cpu) != 1){
+ fprintf(stderr, _("Cannot set values on CPU %d:"), cpu);
+ fprintf(stderr, _(" *is offline\n"));
+ continue;
+ }
+
if (params.perf_bias) {
ret = msr_intel_set_perf_bias(cpu, perf_bias);
if (ret) {