Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 404c2db6 authored by Shreyas B. Prabhu's avatar Shreyas B. Prabhu Committed by Rafael J. Wysocki
Browse files

tools: cpupower: Fix error when running cpupower monitor



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: default avatarShreyas B. Prabhu <shreyas@linux.vnet.ibm.com>
Reported-by: default avatarPavaman Subramaniyam <pavsubra@linux.vnet.ibm.com>
Acked-by: default avatarThomas Renninger <trenn@suse.de>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 82bb70c5
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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",