mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
tools/power/x86/intel-speed-select: Max CPU count calculation when CPU0 is offline
Currently /sys/devices/system/cpu/cpu0/topology/thread_siblings is used to get the max CPU count. But when CPU0 is offline, then this file will be absent. So add processing so that we can get count from any first CPU in the system. which is online. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This commit is contained in:
parent
696691985c
commit
864dc09e69
@ -316,10 +316,24 @@ static void set_max_cpu_num(void)
|
||||
{
|
||||
FILE *filep;
|
||||
unsigned long dummy;
|
||||
int i;
|
||||
|
||||
topo_max_cpus = 0;
|
||||
filep = fopen_or_exit(
|
||||
"/sys/devices/system/cpu/cpu0/topology/thread_siblings", "r");
|
||||
for (i = 0; i < 256; ++i) {
|
||||
char path[256];
|
||||
|
||||
snprintf(path, sizeof(path),
|
||||
"/sys/devices/system/cpu/cpu%d/topology/thread_siblings", i);
|
||||
filep = fopen(path, "r");
|
||||
if (filep)
|
||||
break;
|
||||
}
|
||||
|
||||
if (!filep) {
|
||||
fprintf(stderr, "Can't get max cpu number\n");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
while (fscanf(filep, "%lx,", &dummy) == 1)
|
||||
topo_max_cpus += BITMASK_SIZE;
|
||||
fclose(filep);
|
||||
|
Loading…
Reference in New Issue
Block a user