Linux power: what does changing a register do if the BIOS tells you it isn't there?

| No Comments | No TrackBacks

Share |

The Phoronix blog, which identified problems with Ubuntu's power consumption in recent versions on mobile devices, has claimed to have found the cause of the problem. And it underlines the importance of low-level interfaces communicating clearly what they can do and are doing when it comes to software-enabled power management.

The main culprit seems to be the Active-State Power Management (ASPM) protocol supported by PCI Express and a change that was meant to stop the Linux kernel from accessing hardware registers that might not be there.

The code change in the kernel that triggered the problem was accompanied by this comment:

"We currently refuse to touch the ASPM registers if the BIOS tells us that ASPM isn't supported. This can cause problems if the BIOS has (for any reason) enabled ASPM on some devices anyway. Change the code such that we explicitly clear ASPM if the FADT indicates that ASPM is not supported, and make sure we tidy up appropriately on device removal in order to deal with the hot-plug case. If ASPM is disabled because the BIOS doesn't hand over control then we won't touch the registers."

The trouble is what happens when ASPM is available but the BIOS does not report that it is. A misconfigured BIOS means that ASPM winds up getting disabled, and sucking down larger amounts of juice, when it should be left alone. Phoronix claims this is the result of hardware manufacturers catering to the demands of Windows and not taking Linux's needs into account. However, it's not entirely clear why this would be desirable under Windows either, unless that operating system is ignoring the BIOS and probing the hardware directly.

The workaround is to force ASPM to do its thing, whether the BIOS reports it as present or not. Phoronix says it's not the only power issue in Linux 2.6.38 right now as some problems, possibly related to the scheduler, go back to older versions such as 2.6.35. However, it's clear that having BIOS firmware tell you one thing when the reality is something else is hardly going to help software set the right power-down modes.

The Low-Power Design Blog is enabled by Mentor Graphics. The company has focused years of R&D on low-power design techniques and is glad to support a resource that highlights creative methods for reducing the power consumption of electronic systems.

No TrackBacks

TrackBack URL: http://www.electronicsweekly.com/cgi-bin/mt/mt-tb.cgi/202975

Leave a comment

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.37




Blog support

The Low-Power Design Blog is enabled by Mentor Graphics. The company has focused years of R&D on low-power design techniques and is glad to support a resource that highlights creative methods for reducing the power consumption of electronic systems.

Author Profile

Chris Edwards
Chris is a freelance technology journalist. He writes regularly for Engineering & Technology and New Electronics.

Archives

About this Entry

This page contains a single entry by Chris Edwards published on June 30, 2011 5:04 PM.

More wimps needed for data centres was the previous entry in this blog.

Power in codesign is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.