Linux: Kernel 2.6.37 ohne Big Kernel Lock

Nach zehn Wochen Entwicklungszeit hat Linus Torvalds den Linux-Kernel in Version 2.6.37 freigegeben. Mit dem Verzicht auf die sogenannten Big Kernel Locks haben die Entwickler die Leistung des Kernels auf Multiprozessorsystemen gesteigert. Zudem wurden etliche Änderungen an den verschiedenen Dateisystemen eingepflegt, die beispielsweise die Zugriffszeiten verringern und die Lebensdauer von SSD-Geräten erhöhen. Etliche neue Treiber für WLAN-Geräte, Apples Magic Mouse und ein neuer PPTP-Stack runden die Änderungen im neuen Linux-Kernel ab.
"Entsperrter Kernel"
Torvalds hebt die Entfernung der sogenannten Big Kernel Locks (BKL) besonders hervor(öffnet im neuen Fenster) : Künftig wird auf das Sperren von Datenstrukturen verzichtet. Es wirkte bei Mehrkernsystemen leistungsmindernd, da es auch alle Subsysteme sperrte, und führte zu hohen Latenzzeiten. Da das UDF-Dateisystem aber weiterhin auf BKLs angewiesen ist, bleibt die Funktion erhalten. Patches für das DVD-Dateisystem ohne BKLs sollen im nächsten Kernel eingepflegt werden.
Das Ext4-Dateisystem kommuniziert direkt mit der I/O-Schicht des Kernels statt wie bisher über den Puffer. Das soll einen Leistungsschub bei Datenzugriffen gebracht und die Skalierbarkeit erhöht haben. Zusätzlich belastet Ext4 künftig die CPU weniger. Auf Rechnern mit 48 CPU-Kernen oder mehr soll die Leistung des Dateisystems um das Dreifache gestiegen sein und fast die Leistung des XFS-Dateisystems erreichen, wie Entwickler Ted T'so in seinem Blog(öffnet im neuen Fenster) schreibt.
Getrimmter Kernel
Für das Trimming von SSDs bietet der Kernel eine neue I/O-Funktion, über die Dateisysteme instruiert werden können, nach freien Bereichen auf dem Datenträger zu suchen. Die gegenwärtige Lösung, die seit Kernel 2.6.33 zur Verfügung steht, meldet bei jedem Löschvorgang freigewordene Bereiche und ist deshalb weniger effizient als die jetzt implementierte, die im Batch-Modus(öffnet im neuen Fenster) arbeitet. Die unter dem Namen Batched Discard bekannte neue Funktion soll per Fstrim-Befehl(öffnet im neuen Fenster) ausgelöst werden können. Entwickler Lukas Czerner von Red Hat hat auf seiner Webseite(öffnet im neuen Fenster) Testprogramme veröffentlicht, die die Geschwindigkeit seines Patches demonstrieren sollen. Bislang funktioniert die Batched-Discard-Funktion nur mit dem Ext4-Dateisystem.
Btrfs hat noch nicht das experimentelle Stadium verlassen, hat aber in dieser Kernel-Version weitere Optimierungen erfahren: Per Mount-Option kann das Dateisystem Informationen über freie Blöcke in einem Inode speichern und soll damit beschleunigt werden.
Grafischer Kernel
Die Liste der Änderungen an den Treibern für Grafikchips liest sich für diese Version eher bescheiden. Für die Evergreen-Chips von AMD hat der aktuelle Kernel die Blit-Funktion(öffnet im neuen Fenster) , erhöht damit die Leistung der 3D-Engine und ermöglicht die Nutzung des virtuellen Speichers über die PCI-Aperture-Size hinaus. Der freie Nouveau-Treiber kommt mit dem Geforce-320M-Chipsatz(öffnet im neuen Fenster) klar. Zusätzlich funktionieren auch weitere Stromsparfunktionen auf Grafikchipsätzen von Nvidia, außer der Lüfterregelung.
Für Intels neue Sandy-Bridge-Chipsätze bietet der Intel-Treiber im Kernel die Möglichkeit, mit Anwendungen Videoströme über den Chip zu de- oder encodieren(öffnet im neuen Fenster) . Zusätzlich gibt der Treiber Audio auch über per HDMI angeschlossene Monitore aus.
Getriebener Kernel
In der aktuellen Version des Kernels hielt das PPTP (Point-to-Point Tunneling Protocol) Einzug in das Netzwerk-Subsystem(öffnet im neuen Fenster) . Das Protokoll wird bei VPN-Verbindungen verwendet und soll als Kernel-Modul deutlicher schneller sein als die entsprechenden Userland-Lösungen. Ferner sprechen neue Treiber(öffnet im neuen Fenster) unter anderem die Netzwerkchips Broadcom 57712 und WLAN-Chips AR9170(öffnet im neuen Fenster) von Atheros an.
Fans von Apple-Hardware dürfen sich ebenfalls freuen: Wer auf Macbook Pro 6.2 und 7.1 oder Macbook Air 3.1 und 3.2(öffnet im neuen Fenster) den Linux-Kernel installiert, kann jetzt auch Bluetooth damit verwenden. Außerdem funktionieren auch die magischen Mäuse von Apple unter Linux.
Zudem wurde der V4L- und der dazugehörige IR-Stack weiter aufgeräumt und mit zahlreichen Korrekturen(öffnet im neuen Fenster) weiter optimiert. Der Cx231xx-Treiber wurde um die Unterstützung beispielsweise für Carraera-Tuner von Conexant erweitert.
Verfügbarer Kernel
Torvalds bezeichnet die Entwicklung des aktuellen Linux-Kernels als eher ruhig. Für die nächste Version erwartet er allerdings(öffnet im neuen Fenster) wieder unruhigere Zeiten mit einer neuen Read-Copy-Update-(RCU-)Funktion. Er will mit dem Eröffnen des Merge-Fensters noch ein paar Tage warten, damit sich die Entwickler Zeit nehmen können, die aktuelle Version zu begutachten.
Die Quellen des Kernels stehen unter kernel.org(öffnet im neuen Fenster) zum Download zur Verfügung. Änderungen am Quellcode sind in Git(öffnet im neuen Fenster) oder in der Changelog-Datei(öffnet im neuen Fenster) dokumentiert. Eine übersichtliche Zusammenfassung aller Änderungen steht unter kernelnewbies.org(öffnet im neuen Fenster) zur Verfügung.