Menü

Windows-Treiberinformationen verbessern Power-Management unter Linux

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 218 Beiträge
Von

Mit einem Satz Patches für verschiedenste Treiber versucht Kernel-Entwickler Matthew Garrett den erhöhten Stromverbrauch aktueller Kernel-Versionen in den Griff zu bekommen. Die Informationen für die Patches gewann Garrett ausgerechnet aus den Inf-Dateien der Windows-Gerätetreiber.

Die Ursache für die geringere Akkulaufzeit von Notebooks und den erhöhten Stromverbrauch aktueller Rechner beim Einsatz von Kernel 2.6.38 oder höher ist das Active State Power Management (ASPM) von PCI-Express-Geräten: Meldet das Rechner-BIOS über die Fixed ACPI Description Table (FADT), dass eine Komponente ASPM nicht unterstützt, so setzt der Kernel derzeit den ASPM-Status dieser Geräte zurück. Das führt jedoch bei einigen PCIe-Komponenten zu einem erhöhten Stromverbrauch. Andererseits kommt es zu Abstürzen, wenn man, wie von Phoronix empfohlen, die BIOS-Information über ASPM ignoriert und das Feature für alle Komponenten per Kernel-Boot-Parameter erzwingt.

Matthew Garret gelangte durch die von Microsoft veröffentlichte Präsentation "PCI Express In Depth For Windows Vista And Bayond" zu der Überzeugung, dass man den ASPM-Status von PCIe-Komponenten keinesfalls verändern darf, also auch nicht zurücksetzen, sofern das BIOS dem Betriebssystem nicht die Verfügbarkeit von ASPM meldet. Außerdem fand er heraus, dass sich manche Windows-Treiber über den vom BIOS gemeldeten Status hinwegsetzen, die Hersteller also ASPM unabhängig vom BIOS explizit deaktivieren. Diese Information steckt in den Inf-Dateien der Windows-Treiber, Garrett übertrug das Verhalten des Windows-Treibers einfach in den jeweiligen Gerätetreiber des Linux-Kernels. Zumindest auf Garretts Lenovo-Notebook funktionierten die Patches einwandfrei: Die Leistungsaufnahme sank um 5 Watt. (mid)