Mobile/Powersaving/Wakeups: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 12: Line 12:
* nsIdleService::IdleTimerCallback (~1/5 seconds)
* nsIdleService::IdleTimerCallback (~1/5 seconds)
* xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp:101 - likely some JS callbacks (~1/5 seconds)
* xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp:101 - likely some JS callbacks (~1/5 seconds)
Other wakeups to investigate:
* nsHttpConnectionMgr::OnMsgPruneDeadConnections (http keepalive stuff)


== Debugging/Finding Wakeups ==
== Debugging/Finding Wakeups ==


[[Mobile/Powersaving/Wakeups/Debugging]]
[[Mobile/Powersaving/Wakeups/Debugging]]

Revision as of 21:03, 28 May 2010

Overview

'Wakeups' are instances where a thread enters activity. Each such wakeup stops the CPU from sleeping. Several short wakeups are much worse than a single long wakeup, because each wakeup will prevent sleeping for a short time afterwards, and sleeping can save a lot of power (see powertop docs). So avoiding wakeups is important, and if they are unavoidable then 'clumping' them together is preferable to scattering them at semi-random times.

Some Wakeups of Note

Tested on Fennec trunk, May 27 2010, showing the full about:home start page (including addon suggestions - had to set reported version in application.ini to 1.1 for that).

  • Animated images timers remain when unneeded, can cause plenty of wakeups (on current about:home page, causes 4/second)
  • JavaScript Watchdog thread which does GC and neverending-script-detection (1/second)
  • nsUITimerCallback (1/5 seconds)
  • nsIdleService::IdleTimerCallback (~1/5 seconds)
  • xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp:101 - likely some JS callbacks (~1/5 seconds)

Other wakeups to investigate:

  • nsHttpConnectionMgr::OnMsgPruneDeadConnections (http keepalive stuff)

Debugging/Finding Wakeups

Mobile/Powersaving/Wakeups/Debugging