Skip to content

Commit

Permalink
tools: cpupower: Fix error when running cpupower monitor
Browse files Browse the repository at this point in the history
get_cpu_topology() tries to get topology info from all cpus by reading
files in the topology sysfs dir. If a cpu is offlined, since it doesn't
have topology dir, this function fails and returns -1. This causes
functions relying on get_cpu_topology() to fail. For example-

$ cpupower monitor
Cannot read number of available processors

Fix this by skipping fetching topology info for offline cpus.

Signed-off-by: Shreyas B. Prabhu <shreyas@linux.vnet.ibm.com>
Reported-by: Pavaman Subramaniyam <pavsubra@linux.vnet.ibm.com>
Acked-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Shreyas B. Prabhu authored and Rafael J. Wysocki committed Aug 28, 2015
1 parent 82bb70c commit 404c2db
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions tools/power/cpupower/utils/helpers/topology.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ int get_cpu_topology(struct cpupower_topology *cpu_top)
for (cpu = 0; cpu < cpus; cpu++) {
cpu_top->core_info[cpu].cpu = cpu;
cpu_top->core_info[cpu].is_online = sysfs_is_cpu_online(cpu);
if (!cpu_top->core_info[cpu].is_online)
continue;
if(sysfs_topology_read_file(
cpu,
"physical_package_id",
Expand Down

0 comments on commit 404c2db

Please sign in to comment.