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 Power@bughost.org http://www.bughost.org/mailman/listinfo/power