diff options
| -rw-r--r-- | tools/power/cpupower/bench/system.c | 2 | ||||
| -rw-r--r-- | tools/power/cpupower/utils/idle_monitor/cpuidle_sysfs.c | 9 |
2 files changed, 7 insertions, 4 deletions
diff --git a/tools/power/cpupower/bench/system.c b/tools/power/cpupower/bench/system.c index c25a74ae51ba..2bb3eef7d5c1 100644 --- a/tools/power/cpupower/bench/system.c +++ b/tools/power/cpupower/bench/system.c | |||
| @@ -61,7 +61,7 @@ int set_cpufreq_governor(char *governor, unsigned int cpu) | |||
| 61 | 61 | ||
| 62 | dprintf("set %s as cpufreq governor\n", governor); | 62 | dprintf("set %s as cpufreq governor\n", governor); |
| 63 | 63 | ||
| 64 | if (cpupower_is_cpu_online(cpu) != 0) { | 64 | if (cpupower_is_cpu_online(cpu) != 1) { |
| 65 | perror("cpufreq_cpu_exists"); | 65 | perror("cpufreq_cpu_exists"); |
| 66 | fprintf(stderr, "error: cpu %u does not exist\n", cpu); | 66 | fprintf(stderr, "error: cpu %u does not exist\n", cpu); |
| 67 | return -1; | 67 | return -1; |
diff --git a/tools/power/cpupower/utils/idle_monitor/cpuidle_sysfs.c b/tools/power/cpupower/utils/idle_monitor/cpuidle_sysfs.c index 1b5da0066ebf..5b3205f16217 100644 --- a/tools/power/cpupower/utils/idle_monitor/cpuidle_sysfs.c +++ b/tools/power/cpupower/utils/idle_monitor/cpuidle_sysfs.c | |||
| @@ -130,15 +130,18 @@ static struct cpuidle_monitor *cpuidle_register(void) | |||
| 130 | { | 130 | { |
| 131 | int num; | 131 | int num; |
| 132 | char *tmp; | 132 | char *tmp; |
| 133 | int this_cpu; | ||
| 134 | |||
| 135 | this_cpu = sched_getcpu(); | ||
| 133 | 136 | ||
| 134 | /* Assume idle state count is the same for all CPUs */ | 137 | /* Assume idle state count is the same for all CPUs */ |
| 135 | cpuidle_sysfs_monitor.hw_states_num = cpuidle_state_count(0); | 138 | cpuidle_sysfs_monitor.hw_states_num = cpuidle_state_count(this_cpu); |
| 136 | 139 | ||
| 137 | if (cpuidle_sysfs_monitor.hw_states_num <= 0) | 140 | if (cpuidle_sysfs_monitor.hw_states_num <= 0) |
| 138 | return NULL; | 141 | return NULL; |
| 139 | 142 | ||
| 140 | for (num = 0; num < cpuidle_sysfs_monitor.hw_states_num; num++) { | 143 | for (num = 0; num < cpuidle_sysfs_monitor.hw_states_num; num++) { |
| 141 | tmp = cpuidle_state_name(0, num); | 144 | tmp = cpuidle_state_name(this_cpu, num); |
| 142 | if (tmp == NULL) | 145 | if (tmp == NULL) |
| 143 | continue; | 146 | continue; |
| 144 | 147 | ||
| @@ -146,7 +149,7 @@ static struct cpuidle_monitor *cpuidle_register(void) | |||
| 146 | strncpy(cpuidle_cstates[num].name, tmp, CSTATE_NAME_LEN - 1); | 149 | strncpy(cpuidle_cstates[num].name, tmp, CSTATE_NAME_LEN - 1); |
| 147 | free(tmp); | 150 | free(tmp); |
| 148 | 151 | ||
| 149 | tmp = cpuidle_state_desc(0, num); | 152 | tmp = cpuidle_state_desc(this_cpu, num); |
| 150 | if (tmp == NULL) | 153 | if (tmp == NULL) |
| 151 | continue; | 154 | continue; |
| 152 | strncpy(cpuidle_cstates[num].desc, tmp, CSTATE_DESC_LEN - 1); | 155 | strncpy(cpuidle_cstates[num].desc, tmp, CSTATE_DESC_LEN - 1); |
