Die Neuerungen von Linux 2.6.34

Seite 5: Linux 2.6.34: Power-Management

Inhaltsverzeichnis

Nachdem Torvalds die "Asynchronous Suspend And Resume"-Patches bei 2.6.33 noch zurĂĽckgewiesen hatte, nahm er deren ĂĽberarbeite Fassung fĂĽr 2.6.34 ohne Murren auf. Durch sie legt der Kernel bestimmte Systemkomponenten parallel schlafen oder weckt sie simultan; das soll die Einschlaf- und Aufwachzeiten bei der Nutzung des Bereitschaftsmodus (ACPI S3/Suspend-to-RAM) und des Ruhezustands (Hibernate/Suspend-to-Disk) reduzieren.

Bislang bot der Kernel nur rudimentäre Unterstützung zur Nutzung der Stromspartechniken von I/O-Geräten zur Laufzeit. Die entsprechenden Funktionen wurden bei Linux 2.6.34 erheblich überarbeitet und erweitert (u. a. 1, 2, 3); zudem setzt der für solche Aufgaben schon länger im USB-Subsystem enthaltene Code nun auf neuen generischen Funktionen auf. Die neuen Stromsparfunktionen sind in der Standardeinstellung aber deaktiviert.

Mehr Infos

Informationsquelle Quellcodeverwaltung

Viele der Links im Artikel verweisen auf den für die Neuerung jeweils relevanten Commit im Web-Frontend des von Linus Torvalds mit Git verwalteten Linux-Quellcodezweigs auf kernel.org. Dort finden sich viele weitere Informationen zur jeweiligen Änderungen – speziell der Commit-Kommentar im oberen Bereich der vom Git-Web-Frontend angezeigten Webseite ist häufig eine überaus ergiebige Quelle für weitere Informationen, denn dort erklärt der Autor des Patches normalerweise die Hintergründe der Änderungen und deren (erhoffte) Auswirkung. Gelegentlich finden sich dort auch Benchmark-Ergebnisse oder Verweise auf weitere Informationsquellen.

Auf den Commit-Kommentar folgt eine Auflistung der durch den Patch veränderten Dateien. Über den hinter dem Dateinamen zu findenden Link "patch" kann man sich anzeigen lassen, wie der Commit die jeweilige Datei verändert; "history" zeigt frühere Änderungen der Datei an. Weiter unten finden sich alle im Rahmen des Commits durchgeführten Änderungen im Unified-Diff-Format. Dabei handelt es sich größtenteils um Modifikationen am Quellcode des Linux-Kernels – es sind aber nicht selten auch Anpassungen an der Dokumentation oder an Kommentaren im Code darunter, daher finden dort auch Anwender ohne Programmierkenntnisse viele hilfreiche Informationen.

  • Wie bereits bei den vorangegangenen Kernel-Versionen gab es auch fĂĽr 2.6.34 Dutzende Verbesserungen am Tracing Code und den Performance Events, mit denen sich die Vorgänge im Kernel zu Laufzeit analysieren lassen. Die "jump optimization" (1, 2, 3, Dokumentation) etwa soll Kprobes-Code signifikant beschleunigen. AuĂźerdem bietet der Perf-Code nun eine Python-Scripting-Engine (1, Dokumentation).
  • In verschiedenen Subsystemen flossen Treiber oder Erweiterungen fĂĽr die bislang nur als Cougar Point bekannten und Anfang nächsten Jahres erwarteten Mainboard-Chipsätze von Intel ein.
  • Der AHCI-Treiber beherrscht nun FIS-based switching – eine von manchen externen Festplatten-Gehäusen mit SATA-Port-Multiplier genutzte Technik, mit deren Hilfe sich ĂĽber eine SATA-Verbindung mehrere Festplatten ansprechen lassen.
  • Als eine der wichtigsten Ă„nderungen in Block-Layer hebt dessen Maintainer Jens Axboe in seinem Haupt-Git-Pull-Request Performance-Verbesserungen am CFQ-I/O-Scheduler hervor.
  • Durch eine Ă„nderung an Lkdtm lässt sich nun gezielt ein Kernel-Crash erzeugen – etwa um das Verhalten bei einem Systemabsturz zu simulieren.
  • Integriert wurde auch eine Ă„nderung, die das kĂĽrzlich bekannt gewordenen Performance-Problem bei AMD jĂĽngst eingefĂĽhrten Prozessoren mit Turbo Core beseitigt; volle UnterstĂĽtzung fĂĽr diese den Prozessor bei Teilauslastung hochtaktende Technik soll in 2.6.35 einflieĂźen.