Linux-Kernel 2.6.37 ist veröffentlicht
Linux-Vater Linus Torvalds hat Kernel 2.6.37 freigegeben. Es gibt viele Verbesserungen und Neuerungen. Das ext4-Dateisystem hat zum Beispiel bessere SMP-Skalierbarkeit und das Erstellen geht schneller. Ebenso ist Kernel 2.6.37 komplett frei von BKL (Big Kernel Lock). Hier eine Übersicht mit einigen nennenswerten Änderungen:
Neuerungen und Änderungen bei ext4
- Bessere SMP-Skalierbarkeit: ext4 wird in dieser Kernel-Version den “bio”-Layer anstatt der “buffer”-Schicht verwenden. Der “bio”-Layer, oder Block I/O, ist der Teil des Kernel, der Anfragen an den IO/O-Planer schickt. Es war eine der ersten Funktionen, die in den Linux-Kernel 2.5.1 integriert wurden. Der “buffer”-Layer hat bei SMP-Skalierbarkeit und Geschwindigkeit mit einigen Problemen zu kämpfen. Mit diesem Port sind diese Schwierigkeiten aus der Welt geschaffen. Ein FFSB-Benchmark mit 48 AMD-Kernen, einem SAS-RAID mit 24 Festplatten und 192 simultanen FFSB-Threads war 300 Prozent schneller. 400 Prozent verzeichneten die Tester bei Deaktivierung des Journals. Die CPU wurde dabei mit einem Faktor 3-4 weniger belastet. So ist es auf kernelnewbies.org nachzulesen.
- Weiterhin ist das Erstellen (mkfs) des Dateisystems wesentlich schneller. Einer der langsamsten Teile war immer das Erzeugen der inode-Tabellen. mkfs kann diesen Schritt nun überspringen und die eben erwähnten Tabellen zunächst nicht erstellen. Wird das Dateisystem beim ersten Mal eingebunden, initiiert der Kernel einen ext4lazyinit-Thread, der die Tabellen erstellt.
Verbesserungen bei der XFS-Skalierbarkeit
Die Skalierbarkeit bei intensiven Arbeitsbelastungen wurde verbessert. Beim Bearbeiten von 50 Millionen Dateien wurde ein Geschwindigkeitszuwachs von über 15 Prozent gemessen. Das Löschen dieser Dateien ging sogar über doppelt so schnell als früher.
Kein Big Kernel Lock (BKL)
Der Big Kernel Lock wurde mit Linux-Kernel 2.0 eingeführt., als Alan Cox erstmalig SMP-Unterstützung vorstellte. Damals war es jedoch nur ein erster Schritt für SMP-Unterstützung, allerdings konnte nur ein ProzessKernel-Code zu selben Zeit laufen lassen. Dies musste und wurde auch über die Jahre verbessert. Ab Kernel 2.6.37 können Sie einen Kernel komplett ohne BKL zu kompilieren. Einen Geschwindigkeitsvorteil bringt das nicht wirklich, da alle kritischen Kernel-Teile schon lange ohne diese Restriktion auskamen.
Unterstützung für PPP over IPv4
Kernel 2.6.37 bringt Unterstützung für PPP over IPv4 (PPTP) mit sich. Damit soll sich die Geschwindigkeit von pptp-VPN-Verbdindungen drastisch erhöhen. Darüber hinaus ist die CPU-Last geringer als mit der existierenden User-Space-Implementierung. Es gibt bereits ein accel-pptp-Projekt, die dieses Modul benutzt.
Verbesserungen bei der Energie-Verwaltung: LZO-Kompression beim Tiefschlafmodus und verzögerte Autosuspends
- Verzögerungen bei den Autosuspends von Geräten: Diese Funktion gibt es eigentlich schon seit Kernel 2.6.32. Einige Treiber wollen ihre Geräte allerdings nicht sofort in einen Schlafmodus versetzen, sobald dieses nichts mehr tut wird. Diese Funktion hilft dabei, das Gerät eine Zeit lang inaktic zu halten.
- Das Tiefschlaf-Abbild (Hibernation) wird nun mit LZO komprimiert.
Weiterhin gibt es unter anderem Verbesserungen bei Btrfs, Speicher-Management, CIFS, viele Open-Source-Grafik-Updates für DRM/KMS und so weiter. Ebenso gibt es Unterstützung für die neuen Broadcom-WiFi-Netzwerkkarten.
Sie finden alle Änderungen und Neuerungen im offiziellen Changelog und bei kernelnewbies.org. Herunterladen können Sie den Quellcode von Linux-Kernel 2.6.37 wie üblich bei kernel.org. Kernel 2.6.37 wird in vielen kommenden Linux-Distributionen Einsatz finden. Dazu gehört auch Ubuntu 11.04 “Natty Narwhal”.