Höher und weiter – Die Neuerungen von Linux 2.6.28

Seite 2: Ext4, Speicherverwaltung, Treiber

Inhaltsverzeichnis
Linux-Kernel herunterladen Neue Linux-Versionen sind über die in Amerika und Europa stationierten Server von Kernel.org erhältlich; deren Inhalte spiegeln auch zahlreiche deutsche Mirror. Linux-Anwender, die sich nicht intensiv mit dem Kernel und dessen Umfeld beschäftigen, sollten neue Linux-Treiber und -Kernel aber normalerweise nie auf eigene Faust einspielen, sondern auf die Vorarbeit der Linux-Distributoren zurückgreifen. (...mehr...)

Gleich zu Beginn der 2.6.28-Entwicklung hatte Torvalds eine größere, von Dateisystem-Entwickler Theodore Ts'o (tytso) vorbereitete Patch-Sammlung integriert. Sie enthält neben Fehlerkorrekturen und Verbesserungen für den Ext3-Nachfolger einen Patch, durch den der Kernel das Ext4-Dateisystem fortan als ext4 und nicht mehr als ext4dev ("Ext4 for Developers") bezeichnet; ferner ist das Dateisystem nicht mehr als "Experimentell" gekennzeichnet. Diese Anpassungen sollen verdeutlichen, dass sich die auf den Datenträgern verwendeten Dateisystemstrukturen von nun an nicht mehr in inkompatibler Weise ändern sollen – Nutzer brauchen daher in Zukunft auch nicht mehr wie bisher darauf achten, dass Kernel-Version, Ext4-Utilities (e2fsprogs) und Datenträgerformat exakt zusammenpassen. Der Ext3-Nachfolger verlässt mit den bei 2.6.28 aufgenommen Änderung somit seine "heiße" Entwicklungsphase, nachdem die Kernel-Entwickler eine frühe Ext4-Variante mit Linux 2.6.19 aufgenommen hatten, um es im Hauptentwicklungszweig gemeinsam weiterzuentwickeln und reifen zu lassen.

Abgeschlossen ist die Ext4-Entwicklung aber noch keineswegs; vielmehr dürften die Entwickler das Dateisystem genau wie zuvor bei Ext3 über die Zeit stetig weiterentwickeln und dabei nicht nur Fehlerkorrekturen vornehmen, sondern auch die eine oder andere neue Funktion nachrüsten. Von "Ext4 ist nun stabil" zu sprechen dürfte ebenfalls noch ein wenig verfrüht sein, denn den Ext4-Entwicklern sind durchaus noch einige Fehler bei Ext4 bekannt – ähnlich wie bei den Fehlern in modernen CPUs dürften sich diese bei normaler Benutzung allerdings nicht zeigen. Als wirklich "Stabil" wird man das Dateisystem vermutlich erst bezeichnen können, wenn eine der größeren Mainstream-Distributionen Ext4 als Standarddateisystem nutzt und es sich bei einer größeren Zahl von Anwendern in den unterschiedlichsten Konfigurationen und Hardware-Umgebungen bewährt – erst dann dürften auch die üblicherweise konservativ agierenden Enterprise-Distributionen damit beginnen, Ext4 offiziell zu unterstützen.

Nach den Vorstellungen einiger wichtiger Linux-Dateisystementwickler ist Ext4 aber ohnehin nur eine Übergangslösung auf dem Weg zum als "Next Generation Linux Filesystem" auserkorenen Btrfs. Das soll nach den Vorstellungen einiger Entwickler schon in den nächsten Monaten über Linux-Next in den offiziellen Linux-Kernel einziehen. Dort soll es dann weiterentwickelt werden und reifen, ähnlich, wie es in den vergangenen zwei Jahren bei Ext4 der Fall war.

Einige für 2.6.28 vorgenommene Änderungen an den überaus wichtigen, aber meist eher im verborgenen arbeitenden Kernel-Speicherverwaltung sollen einen Geschwindigkeitszuwachs liefern. So nahmen die Kernel-Entwickler nach jahrelanger Entwicklung zahlreiche maßgeblich von Rik van Riel unter der Bezeichnung "VM pageout scalability improvements" vorangetriebene Änderungen auf, die Teile des Speichersubsystems erheblich renovieren und dabei optimieren (u. a. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12). Das soll den Verwaltungs-Overhead insbesondere bei speicherlastigen Anwendungen reduzieren; Details und Hintergründe zu den Patches finden sich in einem LWN.net-Artikel. Diese Änderungen dürften auf Desktop-Systemen und kleineren Servern allenfalls für messbare, normalerweise aber nicht spürbare Geschwindigkeitszuwächse sorgen; gerade bei sehr großen Servern oder HPC-Systemen können diese Änderungen aber deutliche Vorteile zeigen. Das dürfte auch für die von Nick Piggin eingebrachte Patches gelten, die versprechen, die CPU-Belastung bei der Speicherverwaltung zu mindern und die Arbeit geschickter auf die verschiedenen CPU-Kerne von Multiprozessorsystemen zu verteilen (u.A. 1, 2, 3, 4, 5, 6) – auch hierzu liefert LWN.net Hintergrundinformationen.

Der bei 2.6.28 neue Graphics Execution Manager (GEM) für Intel-Grafikchips soll ferner den Grafiktreibern einige Arbeiten bei der Speicherverwaltung abnehmen und darüber hinaus den Zugriff auf die Recheneinheiten des Grafikchips koordinieren. Auch das soll die Performance verbessern, zudem aber auch das Design von Grafiktreibern erleichtern und dadurch Funktionen ermöglichen, die sich ohne GEM nur schwer hätten realisieren lassen. Intel-Entwickler hatten GEM erst vor einigen Monaten kurzfristig als Alternative zum ursprünglich für diese Aufgaben vorgesehenen Translation Table Maps Memory-Manager (TTM) von Tungsten Graphics gestartet (siehe auch GEM vs. TTM auf LWN.net).

Viele mit Linux 2.6.28 neu aufgenommene Treiber verbessern die Unterstützung von modernen PC-Komponenten spürbar. Erstmals dabei ist etwa spezieller Treiber für die in vielen Eee PCs von Asus verbauten Touchpads von Elantech, der zusammen mit aktuellen Versionen des Synaptics-Treibers erweiterte Touchpad-Gesten erlaubt (Dokumentation). Sehnlichst erwartet haben dürften einige Anwender auch schon den Treiber atl2 für den Netzwerkchip Atheros L2, den insbesondere Asus seit einigen Monaten auf mehreren, zumeist eher preiswerteren Mainboards mit 100-MBit-LAN verbaut.

Bisher noch nicht weit verbreitet, langfristig aber von Wichtigkeit dürfte die bei 2.6.28 neue und maßgeblich von Intel-Entwicklern programmierte Unterstützung für Ultra-Breitband-Technologie (UWB/Ultra Wide Band) und das diese nutzende Wireless USB sein. Anders als bei den fünf vorangegangenen Kernel-Versionen stießen diesmal keine neuen Treiber für verbreitete WLAN-Chips zum Kernel hinzu. Der ath5k-Treiber für Atheros-WLAN-Chips bietet nun allerdings Unterstützung für Mesh-Netzwerke und den Atheros-Chip AR2417 v2; der rt2x00-Treiber nutzt nun die Verschlüsselungstechniken, die verschiedenere RaLink-WLAN-Chips bieten (1, 2, 3, 4).

Die mit 2.6.28 neue generische Wireless Regulatory Infrastructure soll in Zukunft flexibler und besser sicherstellen, dass man mit der WLAN-Hardware nicht gegen die am jeweiligen Aufenthaltsort geltenden Vorschriften zum Betrieb von Funkverbindungen verstößt. Dazu greift die neue Infrastruktur auf die Hilfe eines im Userspace laufenden Programms zurück, das die Informationen zu den verschiedenen Vorschriften und Gesetzen enthält. Das soll den Linux-Distributoren die Arbeit erleichtern, denn ein Userspace-Programm lässt sich viel einfacher und schneller aktualisieren als der bisher für diese Zwecke genutzte Kernel-Code. Die genaue Funktionsweise und zahlreiche weitere Hintergründe zur Wireless Regulatory Infrastructure liefern der Commit-Kommentar, die Kernel-Dokumentation, ein Artikel auf LWN.net und die Beschreibung das Userspace-Programms Central Regulatory Domain Agent.