Skip to contentSkip to conversation

regression: powertop says 120K wakeups/sec

PATCH In review Len Brown 5 participants 8 messages Apr 25, 2008 – Apr 29, 2008 ACPI

lore
Share & tools
lore

Len Brown

author reviewer
#0 lore raw

PATCH 1/1 regression: powertop says 120K wakeups/sec

From: Venkatesh Pallipadi <[email protected]>
Date: Wed Apr 9 21:31:46 2008 -0400

commit 0fda6b403f0eca66ad8a7c946b3996e359100443

Patch to fix huge number of wakeups reported due to recent changes in processor_idle.c. The problem was that the entry_method determination was broken due to one of the recent commits (bc71bec91f987) causing C1 entry to not to go to halt.

http://lkml.org/lkml/2008/3/22/124

drivers/acpi/processor_idle.c +4 -0
index 788da97..836362b 100644
@@ -848,6 +848,7 @@ static int acpi_processor_get_power_info_default(struct acpi_processor *pr)
 		/* all processors need to support C1 */
 		pr->power.states[ACPI_STATE_C1].type = ACPI_STATE_C1;
 		pr->power.states[ACPI_STATE_C1].valid = 1;
+		pr->power.states[ACPI_STATE_C1].entry_method = ACPI_CSTATE_HALT;
 	}
 	/* the C0 state only exists as a filler in our array */
 	pr->power.states[ACPI_STATE_C0].valid = 1;
@@ -960,6 +961,9 @@ static int acpi_processor_get_power_info_cst(struct acpi_processor *pr)
 				 cx.address);
 		}
 
+		if (cx.type == ACPI_STATE_C1) {
+			cx.valid = 1;
+		}
 
 		obj = &(element->package.elements[2]);
 		if (obj->type != ACPI_TYPE_INTEGER)
#1 lore raw
Quoted 4 lines · Len Brown

From: Venkatesh Pallipadi <[email protected]>
Date: Wed Apr 9 21:31:46 2008 -0400

commit 0fda6b403f0eca66ad8a7c946b3996e359100443

I don't see this commit in Linus's tree, is it not needed in it and only in the 2.6.25-stable tree as it was fixed some other way?

confused,

greg k-h

#2 lore raw
In reply to Len Brown
Quoted 11 lines

commit 0fda6b403f0eca66ad8a7c946b3996e359100443

Patch to fix huge number of wakeups reported due to recent changes in processor_idle.c. The problem was that the entry_method determination was broken due to one of the recent commits (bc71bec91f987) causing C1 entry to not to go to halt.

http://lkml.org/lkml/2008/3/22/124

OK, this fixes my issue with the massive amount of wakeups:
http://lkml.org/lkml/2008/4/24/70

However the CPU does not really go to C1 or C2 after applying this patch to the latest git kernel:

Cn Avg residency P-states (frequencies)

C0 (cpu running)        (99,4%)         1,80 Ghz     0,0%
C1                0,0ms ( 0,0%)         1,60 Ghz     0,0%

C2 0,0ms ( 0,6%) 800 Mhz 100,0%

- Daniel

#3 lore raw
Quoted 25 lines

-----Original Message-----
From: Daniel Klaffenbach [mailto:[email protected]]
Sent: Monday, April 28, 2008 3:10 AM
To: Len Brown
Cc: Linux Kernel Mailing List; Pallipadi, Venkatesh
Subject: Re: [2.6.25-stable PATCH] regression: powertop says 120K wakeups/sec

Quoted 4 lines

commit 0fda6b403f0eca66ad8a7c946b3996e359100443

Patch to fix huge number of wakeups reported due to recent changes in processor_idle.c. The problem was that the entry_method

determination was

Quoted 7 lines

broken due to one of the recent commits (bc71bec91f987) causing C1 entry to not to go to halt.

http://lkml.org/lkml/2008/3/22/124

OK, this fixes my issue with the massive amount of wakeups:
http://lkml.org/lkml/2008/4/24/70

Quoted 9 lines

However the CPU does not really go to C1 or C2 after applying this patch to
the latest git kernel:

Cn Avg residency P-states (frequencies)

C0 (cpu running)        (99,4%)         1,80 Ghz     0,0%
C1                0,0ms ( 0,0%)         1,60 Ghz     0,0%

C2 0,0ms ( 0,6%) 800 Mhz 100,0%

Did C1, C2 work fine with 2.6.24?
Can you send me the full dmesg when it is failing to enter C1, C2 with latest git + patch.
Output of
#grep . /sys/devices/system/cpu/cpu*/cpuidle/*/*
And also attach the acpidump output (pmtools package here
http://www.lesswatts.org/projects/acpi/utilities.php)

Thanks,
Venki

#4 lore raw
Quoted 7 lines · Venkatesh

Did C1, C2 work fine with 2.6.24?
Can you send me the full dmesg when it is failing to enter C1, C2 with latest git + patch.
Output of
#grep . /sys/devices/system/cpu/cpu*/cpuidle/*/*
And also attach the acpidump output (pmtools package here
http://www.lesswatts.org/projects/acpi/utilities.php)

No, C1/C2 did not seem to work with 2.6.24 - at least powertop reported 99,9% C0 usage. It was the same behavior as after applying the wakeup patch. However in 2.6.25 and 2.6.25-git11 C1/C2 worked correctly and C2 showed up in pt. But after applying your patch to 2.6.25-git11 they did not:

git11:
PowerTOP version 1.9 (C) 2007 Intel Corporation
Cn Avg residency P-states (frequencies)
C0 (cpu running) ( 9,4%) 1,80 Ghz 100,0%

C1                0,0ms ( 0,0%)         1,60 Ghz     0,0%
C2                0,4ms (90,6%)          800 Mhz     0,0%

Wakeups-from-idle per second : 9051,0 interval: 5,0s

git11 with wakeup-patch:
PowerTOP version 1.9 (C) 2007 Intel Corporation
Cn Avg residency P-states (frequencies)
C0 (cpu running) (99,9%) 1,80 Ghz 100,0%

C1                0,0ms ( 0,0%)         1,60 Ghz     0,0%
C2                0,2ms ( 0,1%)          800 Mhz     0,0%

Wakeups-from-idle per second : 59,8 interval: 10,0s

In both cases the system was idle. I've uploaded the files you wanted:
http://www-user.tu-chemnitz.de/~klada/misc/kernel/cpuidle_git11.txt
http://www-user.tu-chemnitz.de/~klada/misc/kernel/cpuidle_git11_wakeuppatch.txt
http://www-user.tu-chemnitz.de/~klada/misc/kernel/dmesg_git11.txt
http://www-user.tu-chemnitz.de/~klada/misc/kernel/dmesg_git11_wakeuppatch.txt
http://www-user.tu-chemnitz.de/~klada/misc/kernel/nx6125_acpidump.out

If there is anything else I can do for debugging this issue please let me know.

- Daniel

#5 lore raw
Quoted 40 lines

-----Original Message-----
From: Daniel Klaffenbach [mailto:[email protected]]
Sent: Monday, April 28, 2008 11:01 AM
To: Pallipadi, Venkatesh
Cc: Len Brown; Linux Kernel Mailing List
Subject: Re: [2.6.25-stable PATCH] regression: powertop says 120K wakeups/sec

Quoted 2 lines · Venkatesh

Did C1, C2 work fine with 2.6.24?
Can you send me the full dmesg when it is failing to enter

C1, C2 with

Quoted 5 lines

latest git + patch.
Output of
#grep . /sys/devices/system/cpu/cpu*/cpuidle/*/* And also attach the acpidump output (pmtools package here
http://www.lesswatts.org/projects/acpi/utilities.php)

No, C1/C2 did not seem to work with 2.6.24 - at least powertop reported 99,9%
C0 usage. It was the same behavior as after applying the wakeup patch. However in 2.6.25 and 2.6.25-git11 C1/C2 worked correctly and C2 showed up in
pt. But after applying your patch to 2.6.25-git11 they did not:

git11:
PowerTOP version 1.9 (C) 2007 Intel Corporation
Cn Avg residency P-states (frequencies)
C0 (cpu running) ( 9,4%) 1,80 Ghz 100,0%

C1                0,0ms ( 0,0%)         1,60 Ghz     0,0%
C2                0,4ms (90,6%)          800 Mhz     0,0%

Wakeups-from-idle per second : 9051,0 interval: 5,0s

git11 with wakeup-patch:
PowerTOP version 1.9 (C) 2007 Intel Corporation
Cn Avg residency P-states (frequencies)
C0 (cpu running) (99,9%) 1,80 Ghz 100,0%

C1                0,0ms ( 0,0%)         1,60 Ghz     0,0%
C2                0,2ms ( 0,1%)          800 Mhz     0,0%
Quoted 8 lines

Wakeups-from-idle per second : 59,8 interval: 10,0s

In both cases the system was idle. I've uploaded the files you wanted:
http://www-user.tu-chemnitz.de/~klada/misc/kernel/cpuidle_git11.txt
http://www-user.tu-chemnitz.de/~klada/misc/kernel/cpuidle_git11
_wakeuppatch.txt
http://www-user.tu-chemnitz.de/~klada/misc/kernel/dmesg_git11.txt
http://www-user.tu-chemnitz.de/~klada/misc/kernel/dmesg_git11_w

akeuppatch.txt

Quoted 6 lines

http://www-user.tu-chemnitz.de/~klada/misc/kernel/nx6125_acpidump.out

If there is anything else I can do for debugging this issue please let me
know.

With git11+wakeup patch, things seems to be working fine as per

Quoted 1 line

http://www-user.tu-chemnitz.de/~klada/misc/kernel/cpuidle_git11_wakeupp

atch.txt

CPU is spending most of the time in C3 state. Looks like there is some problem with
powertop reporting here. I know there were some changes to this area in powertop.
Can you try the latest powertop version from svn
(http://www.lesswatts.org/projects/powertop/download.php) and see whether the issue is fixed.

Thanks,
Venki

#6 lore raw
Quoted 61 lines · Venkatesh
Quoted 41 lines

-----Original Message-----
From: Daniel Klaffenbach [mailto:[email protected]]

Sent: Monday, April 28, 2008 11:01 AM
To: Pallipadi, Venkatesh
Cc: Len Brown; Linux Kernel Mailing List
Subject: Re: [2.6.25-stable PATCH] regression: powertop says 120K wakeups/sec

Quoted 2 lines · Venkatesh

Did C1, C2 work fine with 2.6.24?
Can you send me the full dmesg when it is failing to enter

C1, C2 with

Quoted 5 lines

latest git + patch.
Output of
#grep . /sys/devices/system/cpu/cpu*/cpuidle/*/* And also attach the acpidump output (pmtools package here
http://www.lesswatts.org/projects/acpi/utilities.php)

No, C1/C2 did not seem to work with 2.6.24 - at least powertop reported 99,9%
C0 usage. It was the same behavior as after applying the wakeup patch. However in 2.6.25 and 2.6.25-git11 C1/C2 worked correctly and C2 showed up in
pt. But after applying your patch to 2.6.25-git11 they did not:

git11:
PowerTOP version 1.9 (C) 2007 Intel Corporation
Cn Avg residency P-states (frequencies)
C0 (cpu running) ( 9,4%) 1,80 Ghz 100,0%

C1                0,0ms ( 0,0%)         1,60 Ghz     0,0%
C2                0,4ms (90,6%)          800 Mhz     0,0%

Wakeups-from-idle per second : 9051,0 interval: 5,0s

git11 with wakeup-patch:
PowerTOP version 1.9 (C) 2007 Intel Corporation
Cn Avg residency P-states (frequencies)
C0 (cpu running) (99,9%) 1,80 Ghz 100,0%

C1                0,0ms ( 0,0%)         1,60 Ghz     0,0%
C2                0,2ms ( 0,1%)          800 Mhz     0,0%
Quoted 8 lines

Wakeups-from-idle per second : 59,8 interval: 10,0s

In both cases the system was idle. I've uploaded the files you wanted:
http://www-user.tu-chemnitz.de/~klada/misc/kernel/cpuidle_git11.txt
http://www-user.tu-chemnitz.de/~klada/misc/kernel/cpuidle_git11
_wakeuppatch.txt
http://www-user.tu-chemnitz.de/~klada/misc/kernel/dmesg_git11.txt
http://www-user.tu-chemnitz.de/~klada/misc/kernel/dmesg_git11_w

akeuppatch.txt

Quoted 6 lines

http://www-user.tu-chemnitz.de/~klada/misc/kernel/nx6125_acpidump.out

If there is anything else I can do for debugging this issue please let me
know.

With git11+wakeup patch, things seems to be working fine as per

Quoted 1 line

http://www-user.tu-chemnitz.de/~klada/misc/kernel/cpuidle_git11_wakeupp

atch.txt

Quoted 7 lines

CPU is spending most of the time in C3 state. Looks like there is some problem with
powertop reporting here. I know there were some changes to this area in powertop.
Can you try the latest powertop version from svn
(http://www.lesswatts.org/projects/powertop/download.php) and see whether the issue is fixed.

I have the same laptop. Powertop (as I'd last tested it) misreports C3 as C2 -- the laptop (nx6125) does not support C2 according to

$ cat /proc/acpi/processor/C000/power
active state:            C0
max_cstate:              C8
bus master activity:     00000000
maximum allowed latency: 2000 usec
states:
     C1:                  type[C1] promotion[--] demotion[--]
latency[000] usage[21566331] duration[00000000000000000000]
     C2:                  <not supported>
     C3:                  type[C3] promotion[--] demotion[--]
latency[010] usage[20968443] duration[00000000000478095079]

I sent a patch for powertop (
http://www.bughost.org/pipermail/power/2008-February/001306.html ), but as far as I can see it hasn't been picked up. (Perhaps it's wrong or incomplete, dunno -- Arjan never replied.) [goes and pulls svn...] Powertop SVN head (rev 290) still has the problem.

#7 lore raw
In reply to Pallipadi, Venkatesh
Quoted 14 lines · Venkatesh

With git11+wakeup patch, things seems to be working fine as per

Quoted 1 line

http://www-user.tu-chemnitz.de/~klada/misc/kernel/cpuidle_git11_wakeupp

atch.txt

CPU is spending most of the time in C3 state. Looks like there is some problem with
powertop reporting here. I know there were some changes to this area in powertop.
Can you try the latest powertop version from svn
(http://www.lesswatts.org/projects/powertop/download.php) and see whether the issue is fixed.

Quoted 2 lines

Thanks,
Venki

You are right, with powertop-svn C2-usage is being displayed properly. I hope your patch is going to make it to the stable tree pretty soon.

Thank you,
Daniel