During the full load when the system does not have opportunity
to sleep the wakeup counter counts too much (mostly more than 1000).
This issue originates from RH bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=528945
The problem is that if no event occurs the timerstats are used, but
probably it is not correct for CPUs with multiple C-states. The
proposed patch is attached.
If there is no wakeup the wakeup counter disappears. I am not sure
if this is the correct behaviour. If not, the fix seems simple:
- if (totalevents && ticktime) {
+ if (ticktime) {
Jaroslav
diff -up powertop-1.13/powertop.c.wakeups powertop-1.13/powertop.c
--- powertop-1.13/powertop.c.wakeups 2008-12-30 13:52:54.000000000 -0500
+++ powertop-1.13/powertop.c 2009-10-14 05:17:28.314321483 -0400
@@ -1001,7 +1001,7 @@ int main(int argc, char **argv)
if (strstr(line, "total events")) {
int d;
d = strtoull(line, NULL, 10) / sysconf(_SC_NPROCESSORS_ONLN);
- if (totalevents == 0) { /* No c-state info available, use timerstats instead */
+ if (totalevents == 0 && maxcstate <= 1) { /* No c-state info available, use timerstats instead */
totalevents = d * sysconf(_SC_NPROCESSORS_ONLN) + total_interrupt;
if (d < interrupt_0)
totalevents += interrupt_0 - d;
_______________________________________________
Power mailing list
[email protected]
http://www.bughost.org/mailman/listinfo/power