Kernel-Log: Erste Vorabversion von 2.6.27 beendet heiße Entwicklungsphase

Der Funktionsumfang von 2.6.27 steht mit der Freigabe von 2.6.27-rc1 nun weitgehend fest. Das mISDN-Framework sowie Änderungen am Suspend-Handling, dem Block-Layer und der Speicherverwaltung fanden in den vergangenen Tagen noch den Weg in den Kernel.

In Pocket speichern vorlesen Druckansicht 55 Kommentare lesen
Lesezeit: 6 Min.
Von
  • Thorsten Leemhuis

Mit der Freigabe von Linux 2.6.27-rc1 hat Linus Torvalds die erste, Merge Window genannte Phase im aktuellen Entwicklungszyklus beendet und die Aufnahme größerer Änderungen für die ungefähr Ende September erwartete Linux-Version 2.6.27 abgeschlossen. Im Quellcodeverwaltungssystem des Hauptentwicklungszweigs und der ersten Vorabversion von 2.6.27 sollten sich daher bereits alle wesentlichen Neuerungen der nächsten Kernel-Version finden. Über einige von ihnen hat das Kernel-Log bereits berichtet – etwa die ersten Schritte zur Entfernung des Big Kernel Locks (BKL), die neue Handhabung von Firmware oder die Aufnahme der Webcam- und WLAN-Treiber gscpa und iwl-5000. In den vergangenen Tagen haben Torvalds und seine Mitstreiter aber noch zahlreiche weitere Neuerungen integriert.

Umfangreiche Änderungen gab es etwa bei der Infrastruktur rund um die Nutzung der Systemschlafzustände. Treiber können dadurch nun beim Wechsel in oder aus dem Bereitschaftsmodus (ACPI S3/Suspend to RAM) andere Arbeiten durchführen als vor oder nach dem Ruhezustand (Hibernate/Suspend to Disk); das soll einige der grundlegenden Probleme rund um die Schlafzustände beseitigen. Der bereits im Rahmen des heise-open-Artikels "Tiefe Einblicke – Informationen in den Vorträgen vom Ottawa Linux Symposium (OLS) 2008" erwähnte Vortrag "Suspend-to-RAM in Linux – State of the Union Address" geht auf die Hintergründe diese Änderungen näher ein.

Auch der für 2.6.27 aufgenommene "Block layer data integrity support" (Commit, Dokumentation, Hintergrundartikel) erklärt einer der OLS-Vorträge detailliert – durch diese Technik sollen Storage-Controller für Server mit passendem Treiber besser überprüfen können, ob Daten auch korrekt auf den Datenträgern landen. Das Ext4-Dateisystem beherrscht nun erstmals Delayed Allocations (1, 2). Das soll die Performance steigern und eine Fragmentierung der Daten eindämmen; auch dazu findet sich eine detaillierter Beschreibung in einem der OLS-Vorträge. Der Ext3-Nachfolger bleibt aber fürs erste weiter als nicht für den Produktiveinsatz geeignetes Entwicklerdateisystem gekennzeichnet.

Zum ersten Mal wird 2.6.27 das für Flash-Speichermedien ohne Wear Levelling gedachte und auf UBI (Unsorted Block Images) aufsetzende Dateisystem Ubifs (Commit, Dokumentation, Hintergrundartikel) mitbringen. Neu sind auch die insbesondere für Virtualisierungsösungen wie KVM interessanten mmu-notifiers oder die Tracing-Infrastruktur Tracehooks, auf die das seit Langem um die Aufnahme buhlende Utrace in Zukunft aufsetzen soll.

Für die unter anderem bei neuerer Asus-Hardware häufiger anzutreffenden Gigabit-LAN-Chips AR8121, AR8113 und AR8114 von Atheros wird 2.6.27 den Treiber atl1e mitbringen. Ein größerer Patch rüstet ferner Unterstützung für die Broadcom-LAN-Chips BCM57711 und BCM57711E im Treiber bnx2x nach. Ebenfalls integriert wurden die Infrastruktur und der HFC-Treiber des mISDN-Projekts. Dessen Code soll langfristig die bisherige ISDN-Infrastruktur des Kernels ersetzen. Die Aufnahme der mISDN-Patches ist aber nicht unumstritten, da nicht klar ist, ob die Änderungen zuvor ausreichend von Kernel-Entwicklern, die nicht an mISDN mitarbeiten, begutachtet wurden; auch waren die Patches zuvor nicht wie üblich einige Wochen in linux-next enthalten. Es lässt sich daher derzeit nicht vollkommen ausschließen, dass mISDN vorübergehend noch einmal rausfliegt und erst für 2.6.28 wieder aufgenommen wird.

Nach Jahren der Entwicklung haben auch die Lockless-Pagecache-Patches von Novell-Entwickler Nick Piggin endlich den Weg in den Hauptentwicklungszweig gefunden (1, 2, 3); sie beschleunigen einige Vorgänge im Speichersubsystem, was sich gerade auf großen Systemen positiv auf die Performance auswirken soll. Einige zumeist von SGI-Entwicklern eingebrachte Änderungen sollen ferner dafür sorgen, dass Linux auf Systemen mit über 4000 CPUs rund läuft. Primär für große Systeme mit HPC- oder Datenbankanwendungen dürfte auch die neu aufgenommene Unterstützung für die Gigabyte-Pages neuerer Opteron-CPUs interessant sein.

In der Mail zur Freigabe von 2.6.27-rc1 merkt Torvalds an, dass die Menge der Änderungen seit 2.6.26 deutlich größer sei als zuvor bei 2.6.26-rc1; der Umfang sei vielmehr ungefähr vergleichbar mit den ersten Vorabversionen von 2.6.24 und 2.6.25. Diese Flut an Änderungen beunruhigt Torvalds; er fragt sich, ob nicht zu viele Änderungen pro Entwicklungszyklus den Weg in den Kernel finden. Er geht darauf aber nicht weiter ein und lässt anklingen, dass er das Thema an anderer Stelle diskutieren will – damit spielt er wohl auf den dieses Jahr im September in Portland stattfindenden Kernel Summit an.

In der Freigabe-Mail betreibt Torvalds wie seit einigen Wochen üblich ein wenig Statistik mit Hilfe von Git – etwas über 50 Prozent der Änderungen fanden demnach im Treiber-Verzeichnis statt. Mit 25 Prozent folgt das Architektur-Verzeichnis – dazu dürfte ein großer Patch erheblich beigetragen haben, der das Verzeichnisses arch/ppc/ entfernt.

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich auch in den vorangegangen Ausgaben des Kernel-Logs auf heise open:

Ältere Kernel-Logs finden sich über das Archiv oder die Suchfunktion von heise open. (thl)