Linux is a fast moving project, with very fast evolving components. If you're using an older distribution,
older than 4 to 6 months (and anything with "Enterprise" in the name is by definition old), please
consider going to a newer distribution. Reporting issues on older distributions is going to
be frustrating to a lot of people, since the issue is likely to have been fixed more than
6 months ago... Please be considerate of the developers of projects and use a recent codebase and
avoid bugging them about issues they solved long ago.
Xorg generally does work on behalf of other programs, so if Xorg shows up high
on the list, there are other programs that make it do work on your system. In our experiments
with an "ultra idle" Linux graphical desktop, Xorg is indeed not showing any activity.
Known candidates for things that keep Xorg having activity are gnome-power-manager and
gaim, but sometimes it's as simple as having a blinking cursor in a terminal
or an animation on a website that keeps Xorg busy.
A good thing to try is
killall gnome-power-manager
to see if it is indeed gnome-power-manager that is constantly having Xorg do work.
The Intel graphics driver used to have a bug
where it set up the hardware to generate an interrupt (called VBLANK) each time the screen
finished refreshing (typically at 60Hz or 72Hz). In normal 2D mode, this interrupt isn't actually used. PowerTOP unveiled this bug and
the current Intel graphics driver no longer has this behavior.
If you're in 3D mode (for example because you are using a 3D desktop), this interrupt is currently still needed for OpenGL compatibility. We're
investigating ways to mitigate this, but this is going to be a fairly invasive fix.
We'll update this webpage with more information once we have this solved.
If you do not need 3D at all, you can disable DRI altogether, which will
kill 3D, but also most i915-related interrupts. Simply add
The Linux kernel has several known issues with too-frequent timers. We are maintaining a patch
against the 2.6 kernel to fix or work around several of these issues.
You can download the patch for the 2.6.21 kernel here; Josh Triplett
has contributed a port of this patch to 2.6.22-rc1.
A patch to force-enable HPETs can be downloaded here.
A patch from Venki (ported to 2.6.22-rc6 by George Wu) to enable C3 on some laptops where Linux doesn't use C3 can be downloaded here.
While there are many things that can keep the Firefox browser active, such as animations in websites you are looking at, Firefox
also had a few things that would keep Firefox active even when looking at a blank page. We've fixed two of the most visible bugs
in this space, and are collecting more fixes over time.
Mike Hommey has filed a cleaner fix for these in the Firefox bugzilla as bug 380558.
You can download Mike's Firefox 2.0 patchkit here.
The Pidgin (GAIM) instant messaging client checks every 5 seconds if you have been idle more than 10 minutes, to mark you
away in the IM networks you're connected to. In addition to this, it will also ask the X server every 5 seconds if the X server
supports the X screensaver extension.... the X server either supports or doesn't support this, this isn't changing after starting the application.
We've created a patch to GAIM to fix these 2 issues,
and Georgy Berdyshev has ported this to the latest Pidgin release.
You can download this patch here.
The Pidgin developers have also worked with us and integrated this functionality in
the now released version 2.0.1, if you're using this version you don't need a patch anymore.. way to go!
The Evolution email client has a 10Hz timer to process one of it's internal event queues. Most of the time, there is nothing to do,
the event queue is empty. We've created a patch for Evolution to only use the timer when there are actual events to be processed.
You can download the patch for evolution 2.10 here.
dhcdbd is a program that connects the DHCP client of the OS to the DBUS gnome program. dhcdbd implements it's own defered
event mechanism and uses high frequency polling to handle these events, rather than sleeping until the first planned event
happens.
Keith Packard has developed a patch to fix this issue; you can download this patch here.
By default, the ntp time synchronization daemon will wake up once per second, and will make the kernel do
work on it's behalf even more. Red Hat has created a patch to ntp to fix
this issue and ships it in their rawhide and FC7 ntp packages. You can
download this patch from the Fedora
cvs server.
The kernels ondemand CPU frequency management function currently has a high-frequency timer that samples to see if
the CPU is idle. Intel fixed this and the patches to the kernel to effectively remove this timer are included in Linus' tree as
of 2.6.22-rc1.
However, if you don't want to rebase to that kernel, you can also reduce the frequency of this timer from a command prompt with the following command:
cd /sys/devices/system/cpu/cpu0/cpufreq
cat ondemand/sampling_rate_max > ondemand/sampling_rate
The ibm_acpi kernel module seems to create a really high number/frequency of ACPI interrupts,
which will shorten your battery life a lot. We've not diagnosed this a lot yet, but at this point
it's worth trying to unload this kernel module from your kernel.
The gnome mixer applet (the volume settings icon on the top menu bar) used to poll at
a very high frequency to see if the volume has changed (so that it would update it's icon).
The good news is that ALSA has a nice notification API to notify applications on volume changes.
(this tip is contributed by Steinar H. Gunderson)
There is currently no userspace support for enabling the power saving
functionality of ipw3945. The driver doesn't support the standard "iwconfig
ethX power" interface, but you can turn down the power usage with:
iwpriv eth2 set_power 1
which seems to save almost 100 mA in idle state over the default setting.
The value has the following meaning
Power save level: 5 (Timeout 25ms, Period 1000ms)
Power save level: 1 (Timeout 350ms, Period 400ms)
A setting of 5 will save you more power (at the expense of performance).
In many networks, you'll see about 10 wakeups per second due to the
wireless router's Beacon Internal of 100ms. Many AP's allow customization of that
interval to 1000ms; this will bring the number of ipw interrupts down to 1/s.
A beacon is a packet broadcast by the Router to synchronize the wireless
network. We did not observe any performance degradation because of this change.
Frank Ursel has reported that the gksu program causes almost 1000 wakeups/second for him,
which is costing him approximately half an hour of battery life. No fix is known yet.
Initial investigation shows that gksu has a 100 microsecond polling loop in it's main program,
and even though the kernel rounds this up to a 1 millisecond loop most of the time, this is obviously
preventing the CPU from reaching power saving modes..
Matheus Izvekov reports that the mpd media player wakes up 100 times per second once the first song is played,
even when no song is playing.
Alexander Trueman has contacted us to mention that the he analyzed and fixed this behavior in the SVN version of mpd. He mentions
that his fix will go into the next release.
xterms are waking up once per second when totally idle. It seems the periodic idle wakeups are due to xterm checking for session management events. Adding the +sm option, or setting the resource sessionMgt to false, stops the periodic tick.
tpb (Thinkpad laptop utility) is currently polling nvram for changes every
200 microseconds. The polling rate is configurable by setting POLLTIME in the
/etc/tpbrc file but increasing it does lead to some events not getting caught anymore.
Several Thinkpad models will also generate events for these keys so polling wouldn't
be needed on these models.
There is an issue with the forcedeth driver in the kernel; there is an
interrupt generated 100 times per second to work around a bug on certain
hardware that forcedeth handles. Detailed description in a comment in
drivers/net/forcedeth.c.
The sealert daemon in Fedora 7 wakes up 10 times per second due to a bug
in how the python code daemonizes itself. This issue is filed in the Red Hat
bugzilla as bug 239893.
About | ISN | Intel is a trademark of Intel Corporation in the U.S. and other countries. | * Other names / brands may be claimed as the property of others