A Proper Solution To The Linux ASPM Problem
Below is Matthew Garrett's description about this new patch.
Right now we forcibly clear ASPM state on all devices if the BIOS indicates that the feature is not supported. Based on the Microsoft presentation "PCI Express In Depth for Windows Vista and Beyond", I'm starting to think that this may be an error. The implication is that unless the platform grants full control via _OSC, Windows will not touch any PCIe features - including ASPM. In that case clearing ASPM state would be an error unless the platform has granted us that control.
This ~60 line kernel patch changes the ASPM behavior and from his testing, plus my initial testing, it seems to be relatively sane. From the various notebooks (a half-dozen so far) I have been trying out, there have not been any problems and ASPM is working without having to manually force it.
On the next page is a test of this patch and the system power consumption from one of the ASPM affected systems under the Linux 2.6.37, 2.6.38, 3.2, and 3.2 patched kernels.
Latest Linux Hardware Reviews
Latest Linux Articles
Latest Linux News
Latest Forum Discussions