Net- und Notebooks

Trends & News | Kernel-Log

Seite 4: Net- und Notebooks

Zahlreiche schon seit langem vorbereitete und mit 2.6.29 aufgenommene Änderungen sollen die Zuverlässigkeit der Suspend-Modi verbessern. Torvalds hob diese Änderungen bei der Veröffentlichung der dritten Vorabversion von 2.6.29 explizit hervor; bisher hätte Suspend und Resume zwar auf vielen Systemen funktioniert, aufgrund von Interrupt-Timing-Problemen speziell bei Shared-Interrupts jedoch nicht immer verlässlich gearbeitet. Im Rahmen der Entwicklung fanden sich aber noch Probleme mit dem neuen Suspend-Code, die zahlreiche weitere Änderungen nötig machten. Weitere dürften mit 2.6.30 folgen.

Vorübergehend aufgenommen, dann aber wieder zurückgenommen wurden Änderungen am Treiber p4-clockmod, die das Sysfs-Interface des Cpufreq-Treibers entfernten. Wie bei vorangegangenen Kernel-Version wird man so auch bei 2.6.29 die CPU manuell durch Throttling abbremsen können – sinnvoll ist das, wie berichtet, aber in der Regel nicht. Die Rücknahme ist zudem nur eine Übergangslösung, damit die Entwickler einige Fehler in der Throttle-Unterstützung des ACPI-Subsystem beseitigen können, um den Schutz vor Überhitzung der CPU zuverlässig sicherzustellen. Anschließend wollen sie den Patch wieder aufnahmen – geplant ist das grob für September dieses Jahres.

Den Treiber i8k für Dell-Notebooks erweiterten die Kernel-Hacker um Unterstützung für 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.

Informationsquelle Quellcodeverwaltung

Viele der Links im Artikel verweisen auf den oder die für die Neuerung jeweils relevanten Commit im Web-Frontend des von Linus Torvalds mit Git verwalteten Linux-Quellcodes, da sich dort viele weitere Informationen zur jeweiligen Änderungen finden. Speziell der Kommentar im mittleren Bereich der vom Git-Web-Frontend angezeigten Webseite zum Commit ist häufig eine überaus hilfreiche Quelle für weitere Informationen, denn dort erklärt der Autor des Patches normalerweise die Hintergründe der Änderungen und was sie bewirken sollen.

Im unteren Bereich des Git-Web-Frontends findet sich eine Auflistung der durch den Patch veränderten Dateien. Über den hinter dem Dateinamen zu findenden Link "diff" kann man sich anzeigen lassen, wie der Patch die jeweilige Datei verändert; wer den kompletten Patch in seiner Rohform sehen will, klickt auf den Link Commitdiff. Die Patches selbst sind auch ohne Programmierkenntnisse häufig eine gute Informationsquelle, denn sie enthalten auch Änderungen an der Dokumentation und den Kommentaren am Code.

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 erarbeitet. Durch sie kann der Kernel einige voneinander unabhängige Subsysteme asynchron initialisieren – also die Initialisierung eines Subsystems starten, während der Code eines andere Subsystems noch auf Rückmeldung der von ihm versorgten Hardware-Komponenten wartet. Solche Wartezeiten sind insbesondere bei der Initialisierung der Libata- und SCSI-Subsysteme 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 dem Start des Kernels und Übergabe an den Userspace (/sbin/init) lässt durch diesen Trick spürbar beschleunigen – wie klein oder groß der Vorteil ist, hängt aber stark vom eigenen System ab. Bei 2.6.29 wird 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.

Anzeige