Kernel-Log – Was 2.6.29 bringt (6): Schneller starten und andere Änderungen unter der Haube

Durch asynchrone Hardware-Initialisierung soll Linux in Zukunft schneller starten. Ferner haben die Kernel-Entwickler wieder allerlei Änderungen an der Infrastruktur vorgenommen, damit Linux schneller, zuverlässiger und mehr Systemen denn zuvor arbeitet.

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

Nach der Veröffentlichung der achten Vorabversion von 2.6.29 befindet sich die Entwicklung der nächsten größeren Kernel-Überarbeitung nun auf der Zielgeraden. Ein Blick auf die geänderten Dateien und Zeilen Code zeigt deutlich, dass die Kernel-Hacker für 2.6.29 wieder überaus aktiv waren und im aktuellen Entwicklungszyklus mehr neue Code-Zeilen aufgenommen haben als je zuvor:

Für das Gros der Code-Erweiterungen zeichnen wie üblich Treiber und die sie umgebenen Subsysteme verantwortlich. Nicht wenige der Änderungen verbessern allerdings auch die eher im Verborgenen arbeitende Infrastruktur des Kernels. Sie sind das Thema dieses Kernel-Logs, das die Mini-Serie "Was 2.6.29 bringt" abschließt – allzu lange dürfte es wohl nicht mehr dauern, bis Linus Torvalds die Linux-Version 2.6.29 veröffentlicht.

Nachdem Arjan van de Ven bereits bei 2.6.28 einige unter dem Stichwort "Fastboot" segelnde Verbesserungen eingebracht hat, die die Initialisierungsphase des Kernels und so den Start des Systems beschleunigen, hat er für 2.6.29 weitere Änderungen in dieser Bereich erarbeitet. Durch sie kann der Kernel einige voneinander unabhängige Subsysteme nun asynchron initialisieren – also die Initialisierung eines Subsystems starten, während der Code eines andere Subsystems vielleicht gerade auf Rückmeldung der von ihm versorgten Hardware-Komponenten wartet. Solche Wartezeiten sind insbesondere bei der Initialisierung der Libata- und SCSI-Subsystemen häufig, da diese bei der Abfrage und dem Einrichten der Datenträger an einigen Stellen Zehntelsekunden oder länger auf Rückmeldungen der angeschlossenen Laufwerke warten.

Die Boot-Phase zwischen Start des Kernels und Übergabe an den Userspace (/sbin/init) lässt durch diesen Trick mess- und spürbar beschleunigen – wie klein oder groß der Vorteil ist, hängt aber stark vom eigenen System ab. Bei 2.6.29 wird man die parallele Initialisierung jedoch aufgrund von Problemen weitgehend deaktiviert sein, so man den Fastboot-Code nicht über den Kernel-Parameter "fastboot" explizit aktiviert. Van de Ven plant für 2.6.30 einen zweiten Anlauf, sodass dann auch mehr Anwender von den Neuerungen profitieren. Weitere Details zur genauen Funktionsweise von Fastboot liefert ein Artikel bei LWN.net.