There are tidbits elsewhere in openSUSE forums on this possible Power Management regression topic, plus a number of articles on the Phornoix web site, and after a recommendation to do so, I thought I would start a blog entry on the GNU/Linux Power Management regressions impacting openSUSE, and some work arounds ( ! ).
Originally, my posts on this topic was in an openSUSE forum thread here: Possible Power Management regressions in recent Linux kernels ?
In that I noted that there have been a series of articles on the Phoronix web site, which have suggested regressions in the Linux kernel
- during the 2.6.37 to 2.6.38 and
- during the 2.6.34 to 2.6.35
with the 2.6.34 to 2.6.35 being discovered last.
Some quotes from the Phoronix web site posts …
FIRST, the 2.6.37 to 2.6.28 possible regression was discovered: [Phoronix] Mobile Users Beware: Linux Has Major Power Regression](Mobile Users Beware: Linux Has Major Power Regression - Phoronix) where they state:
During the Linux 2.6.38 kernel development, a regression was introduced causing systems to burn through significantly more power. … On the particular system being talked about in the article today is the power consumption going up by 14%, which would lead to a noticeably shorter battery life. … The Linux 2.6.35/2.6.36/2.6.37 results are virtually identical, but with 2.6.38 is where the regression strikes. As far as the Linux 2.6.39 results, it shows the regression still present. …
SECOND, the 2.6.34 to 2.6.35 possible regression, discovered [Phoronix] Another Major Linux Power Regression Spotted](http://www.phoronix.com/scan.php?page=article&item=linux_kernel_regress2&num=1) after Phoronix upgraded their benchmarks and paid more attention to power management in the results. Also, the 2.6.34 to 2.6.35 possible regression appeared worse than the 2.6.37 to 2.6.38.
With this expanded round of power testing, the Linux 2.6.37 to Linux 2.6.38 regression is still shown, but it also uncovered a very noticeable differentiation in power consumption between the Linux 2.6.34 and 2.6.35 kernels too. Under idle on this test system, it equates to a 20% difference in power consumption and then the 2.6.37/2.6.38 regression tacks on another 6% in this particular test profile.
… The pre-2.6.35 kernels are all running at right around the same power level within a reasonable milliwatt range of each other on the various tests. … However, with the Linux 2.6.35 kernel, the power consumption goes up noticeably.
Now the above is all from Phoronix.
There has also been more information of late:
USEFUL WORK AROUND
Its interesting that Phoronix are now suggesting that laptop users with newer kernels (2.6.27 and newer to present) consider adding the boot code:
to work around some of the power management issues.
The Phoronix article is here: [Phoronix] The Leading Cause Of The Recent Linux Kernel Power Problems](http://www.phoronix.com/scan.php?page=article&item=linux_2638_aspm&num=1)
Phoronix believe the biggest cause of the 2.6.38 power issue (according to their testing software and the hardware they have been running) is due to a change in behavior regarding ASPM. ASPM is the Active-State Power Management for PCI Express. Namely, they claime to blame is commit 2f671e2dbff6eb5ef4e2600adbec550c13b8fe72 that is titled “PCI: Disable ASPM if BIOS asks us to.”
Read more on the article to see the details.
Wrt the work around, they say this:
Given the thousands of users having this 2.6.38 power regression by this change, there is a big ASPM problem at hand. Fortunately, as PCI-E ASPM problems are not new, a few boot options can be used. Namely, most people affected by this issue will want to add “pcie_aspm=force” to their boot command line. Simply adding this will force Active-State Power Management to be enabled.
Further articles in Phoronix look at other Power Management issues :
- Ubuntu vs Windows7 power management looking at boot/start-up, basic desktop use, video playback, and gaming. What was interesting was
with similar workloads, for the most part the power consumption is comparable between Ubuntu 11.04 and Windows 7 Pro SP1. The only major differences came during Flash-based HD video playback being more efficient under Windows, power consumption while OpenGL gaming, and in select other areas.
My guess is power management on openSUSE is likely similar to Ubuntu for basic desktop use, video playback, and gaming (Ubuntu is usually faster than openSUSE for boot up times). Ergo openSUSE possibly is comparable to Windows 7 for power management with basic desktop use and video playback.
open-source Radeon driver power management where Phoronix compared the system power consumption for the open and closed-source ATI/AMD Radeon Linux drivers for a variety of graphics cards (ATI Radeon HD 2400PRO, ATI Radeon HD 4550, ATI Radeon HD 4870, and ATI Radeon HD 5750). Phoronix discovered with with newer hardware the proprietary Catalyst driver consumes less power than using the open-source driver in any configuration. So not only does the proprietary Catalyst driver deliver better performance, but also its power consumption is lower.
- What to do if still seeing poor Linux Battery Life? In this post Phoronix ask user’s to try the work around noted above, and then if power management is still poor to provide further information per the links they provide, so that they can investigate the problem further and maybe help come up with a solution.