Kernel-Log – Was 2.6.29 bringt (3): ACPI, PCI, PM und Co. – Verbesserungen für Notebooks und Stromspartechniken

Durch Verbesserungen am ACPI- und PCI-Code sollen Suspend-Modi nun zuverlässiger arbeiten; manuelles Throttling mit p4-clockmod wird unterbunden; neue oder erweiterte Treiber für Notebooks von Asus, Dell, Fujitsu-Siemens und IBM/Lenovo

In Pocket speichern vorlesen Druckansicht
Lesezeit: 8 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Nach einer durch die LCA 2009 bedingten Pause von einer Woche hat Linus Torvalds die Aufnahme von Patches in den Entwicklerzweig vor ein paar Tagen wieder aufgenommen und die dritte Vorabversion von 2.6.29 veröffentlicht. In der Mail zur Freigabe weist Torvalds auf einige Änderungen hin, die die Zuverlässigkeit der System-Suspend-Modi verbessern sollen – durch diese Änderungen würde eines seiner Notebooks nun zuverlässig aus dem Stromsparmodus wieder aufwachen. Dies "Was 2.6.29 bringt"-Kernel-Log nimmt das zum Anlass, um die für 2.6.29 erwarteten Änderungen rund um ACPI, PCI, Power-Management und die damit verzahnten Notebook-Treiber zu beschreiben.

Die von Torvalds erwähnten und im wesentlichen von Rafael J. Wysocki entwickelten Änderungen rund um das Suspend- und Resume-Handling fanden nicht in einem Schwung, sondern nach und nach über die Verwalter der ACPI- und PCI-Subsysteme den Weg in den Kernel (1, 2). Die Commits sind zudem zumeist vergleichsweise klein und auf den ersten Blick recht unscheinbar (etwa 1, 2, 3, 4).

Durch diese schon seit langem vorbereitete Änderungen soll der Kernel in Zukunft die PCI(e)-Hardware des Systems beim Aufwachen aus dem Suspend-Modus zuverlässig reinitialisieren; bisher hätte Suspend und Resume laut Torvalds zwar auf vielen Systemen funktioniert, aufgrund von Interrupt-Timing-Problemen speziell bei Shared-Interrupts nicht immer verlässlich gearbeitet ("We have historically been in a situation where suspend/resume often works, but may not be reliable due to interrupt timings, especially if there are any shared interrupts going on between drivers."). Nachdem diese Schwierigkeiten nun ausgeräumt sein sollen, zeigt sich Torvalds verstärkt an Berichten von Anwender interessiert, bei denen nun noch Treiber zu Problemen beim Suspend/Resume führen; Tester sollen zudem prüfen, ob Systeme, bei denen die System-Schlafzustände mit älteren Kerneln arbeiteten, mit den Vorabversionen von 2.6.29 noch mindestens ebenso gut arbeiten wie zuvor ("[...]we'll really need user feedback on any drivers that now don't suspend/resume cleanly. So please, people - especially if you use suspend/resume, we want to hear about regressions, [...]").

Die Kernel-Entwickler Matthew Garrett und Dave Jones haben in ihren Blogs und anderen Stellen schon mehrfach dargelegt, dass Throttling ("Drosseln") bei modernen CPUs nur zum Schutz vor Überhitzung dient, nicht aber wie allgemein angenommen die Taktfrequenz senkt oder die Leistungsaufnahme reduziert. Im Gegenteil, die Gesamt-Leistungsaufnahme zum Bewältigen einer Berechnung steige bei durch CPU-Throttling sogar, da die CPU nicht in den Stromsparmodus wechseln könne und das System mit all seinen anderen stetig Leistung umsetzenden Komponenten länger für die Berechnungen braucht.

Um das den Anwendern zu verdeutlichen, haben die beiden das Sysfs-Interface des Treibers p4-clockmod entfernt; der Treiber kann so zwar noch den Hitzeschutz übernehmen, bietet aber keine Möglichkeit zum manuellen Bremsen der CPU mehr. Der Commit-Kommentar sowie ein Eintrag im Blog von Dave Jones erklären noch einmal die Gründe dafür; weitere finden sich in den Kommentaren des Blog-Eintrags, wo der Entwickler das Vorgehen verteidigt und weiter versucht, Mythen rund um Throttling aus der Welt zu schaffen.

Kernel-Log – Was 2.6.29 bringt Weitere Teile aus der Kernel-Log-Mini-Serie "Was 2.6.29 bringt": 1. Netzwerk – "Mistige" WLAN-Treiber, Wimax- und AP-Unterstützung 2. Grafik – Kernel verwaltet Bildschirmauflösung Der Artikel "Höher und weiter – Die Neuerungen von Linux 2.6.28" bietet eine Übersicht über die Neuerungen der derzeit aktuellen Kernel-Version der Hauptentwicklungslinie. Das bei der Freigabe dieses Artikels neueste reguläre Kernel-Log beschäftigt sich mit den neuen Stable-Kerneln wie Linux 2.6.28.2, Mesa 7.3, neuen Grafiktreibern sowie einigen für eine Aufnahme mit Linux 2.6.30 diskutierten Patches; zahlreiche weitere Geschehnisse rund um den Linux-Kernel und andere Hardware-nahe Linux-Software kurz Erwähnung. Ältere Kernel-Logs finden sich über das Archiv oder die Suchfunktion von heise open.

Die Kernel-Entwickler haben ferner einige der beim Booten ausgegebenen Informationen zur PCI-Konfiguration überarbeitet, um sie verständlicher und übersichtlicher zu gestalten (1, 2). Im ACPI-Code gab es zahlreiche größere Umbauarbeiten, die etwa die Include-Dateien umstrukturieren (1, 2) oder die ACPI Component Architecture (ACPICA) in ein eigenes Verzeichnis auslagern.

Die weitgehend Hersteller-spezifischen Treiber für Notebooks von Acer, Asus, IBM/Lenovo, MSI und anderen verschob der Betreuer des ACPI-Subsystems von drivers/misc/ nach drivers/platform/x86/, sodass man sie bei der Konfiguration von 2.6.29 mit einer Konfigurationsdateien von älteren Kerneln unter Umständen erneut aktivieren muss (1, 2). Der Treiber i8k für Dell-Notebooks unterstützt jetzt die Serien Vostro und Precision; neu dabei ist der Treiber dell-laptop, der die Helligkeitsregelung und Abfrage des WLAN-Schalter über Dcdbas (Dell Systems Management Base Driver) unterstützt. Ferner erweiterten die Entwickler den für Fujitsu-Siemens-Notebooks geeigneten Treiber fujitsu-laptop um einige neue Funktionen. Auch am Treiber für Thinkpads von IBM und Lenovo gab es zahlreiche Verbesserungen – die finden sich zusammen mit einer Auswahl weiterer wichtiger Änderungen aus dem ACPI-, PCI- und Power-Manager-Bereich in den folgenden Abschnitten:

ACPI:

Cpufreq:

Laptop-/Notebook-/Netbook-Driver:

PCI:

Power Management/Hibernate:

(thl/c't) (thl)