diff mbox

[GIT,PULL] cpupower update for 4.15-rc2

Message ID e7b8b542-2fc9-0b6f-da97-a0dd50a7d55d@osg.samsung.com (mailing list archive)
State Mainlined
Delegated to: Rafael Wysocki
Headers show

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux tags/linux-cpupower-4.15-rc2

Commit Message

Shuah Khan Nov. 17, 2017, 6:20 p.m. UTC
Hi Rafael,

Please pull the cpupower update for 4.15-rc2

This update consists of fixes to tool's handling of offline cpus.
The first patch fixes the tool to find information on the cpu it
is running on, instead of always looking for cpu0 and failing if
cpu0 happens to be offline.

The second patch fixes the incorrect check for offline cpu status.

Diff is attached.

thanks,
-- Shuah

------------------------------------------------------------------------------------------

The following changes since commit 69b6f8a9b7961efd7dcc11ab9b1d5be55ed8a15e:

  tools/power/cpupower: add libcpupower.so.0.0.1 to .gitignore (2017-11-09 10:52:22 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux tags/linux-cpupower-4.15-rc2

for you to fetch changes up to dbdc468f35ee827cab2753caa1c660bdb832243a:

  cpupower : Fix cpupower working when cpu0 is offline (2017-11-15 08:37:42 -0700)

----------------------------------------------------------------
linux-cpupower-4.15-rc2

This update consists of fixes to tool's handling of offline cpus.
The first patch fixes the tool to find information on the cpu it
is running on, instead of always looking for cpu0 and failing if
cpu0 happens to be offline.

The second patch fixes the incorrect check for offline cpu status.

----------------------------------------------------------------
Abhishek Goel (2):
      cpupowerutils: bench - Fix cpu online check
      cpupower : Fix cpupower working when cpu0 is offline

 tools/power/cpupower/bench/system.c                     | 2 +-
 tools/power/cpupower/utils/idle_monitor/cpuidle_sysfs.c | 9 ++++++---
 2 files changed, 7 insertions(+), 4 deletions(-)

------------------------------------------------------------------------------------------

Comments

Rafael J. Wysocki Nov. 18, 2017, 2:07 p.m. UTC | #1
On Fri, Nov 17, 2017 at 7:20 PM, Shuah Khan <shuahkh@osg.samsung.com> wrote:
> Hi Rafael,

Hi,

> Please pull the cpupower update for 4.15-rc2
>
> This update consists of fixes to tool's handling of offline cpus.
> The first patch fixes the tool to find information on the cpu it
> is running on, instead of always looking for cpu0 and failing if
> cpu0 happens to be offline.
>
> The second patch fixes the incorrect check for offline cpu status.
>
> Diff is attached.

Pulled, thanks!

Rafael
diff mbox

Patch

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)
 
 	dprintf("set %s as cpufreq governor\n", governor);
 
-	if (cpupower_is_cpu_online(cpu) != 0) {
+	if (cpupower_is_cpu_online(cpu) != 1) {
 		perror("cpufreq_cpu_exists");
 		fprintf(stderr, "error: cpu %u does not exist\n", cpu);
 		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)
 {
 	int num;
 	char *tmp;
+	int this_cpu;
+
+	this_cpu = sched_getcpu();
 
 	/* Assume idle state count is the same for all CPUs */
-	cpuidle_sysfs_monitor.hw_states_num = cpuidle_state_count(0);
+	cpuidle_sysfs_monitor.hw_states_num = cpuidle_state_count(this_cpu);
 
 	if (cpuidle_sysfs_monitor.hw_states_num <= 0)
 		return NULL;
 
 	for (num = 0; num < cpuidle_sysfs_monitor.hw_states_num; num++) {
-		tmp = cpuidle_state_name(0, num);
+		tmp = cpuidle_state_name(this_cpu, num);
 		if (tmp == NULL)
 			continue;
 
@@ -146,7 +149,7 @@  static struct cpuidle_monitor *cpuidle_register(void)
 		strncpy(cpuidle_cstates[num].name, tmp, CSTATE_NAME_LEN - 1);
 		free(tmp);
 
-		tmp = cpuidle_state_desc(0, num);
+		tmp = cpuidle_state_desc(this_cpu, num);
 		if (tmp == NULL)
 			continue;
 		strncpy(cpuidle_cstates[num].desc, tmp,	CSTATE_DESC_LEN - 1);