burning cpu and battery on the gnome desktop

A Presentation by Ryan Lortie

Currently, on Linux, a hardware-based timer runs at a set frequency (the famed HZ kernel parameter). With a setting of 200 or sometimes as much as 1000 this means that your laptop is waking up very frequently. This severely reduces the usefulness of power management technologies that put the CPU to sleep when it is idle.

The Linux kernel is moving toward becoming tickless. Using its new high precision time sources, wakeups are scheduled only when they are needed. This means that the CPU could theoretically sleep for seconds at a time.

The current GNOME desktop, however, presents a significant roadblock to this theoretical ideal. Careless use of timers in various applications throughout the desktop ensures that these applications are waking up 10 or more times per second. Worse yet, careless timer use has also been found in libraries -- effecting every application using that library. With applications requesting that the kernel wake up so frequently there is little hope for big power savings from the new tickless kernel.

I was one of the first people to document and draw attention to this problem by researching it on my Ubuntu Dapper system and posting about it on Planet GNOME. I have found problem applications and identified the source of problems in them. I have submitted patches.

I would like to give a 40 minute talk discussing methods that can be used to discover problem applications and libraries and showcasing success stories of applications that used to be big offenders and are now repaired.

The techniques discussed will include both generic techniques for finding trouble applications by examining data from the kernel and specific techniques for getting information out of specific applications as to why they're waking up. Time permitting, a staged example of finding a the source of a problem will be shown.

The purpose of the talk will be to draw attention to a rather non-obvious but serious problem. A single application causing continuous short wake-ups might show 0% CPU utilisation in 'top' but can have a drastically negative effect on the lifetime of a laptop battery.

Direct link to video