[Kernel-News] Linux-Kernel 2.6.37

  • Linux-Initiator Linus Torvalds hat Version 2.6.37 des Linux-Kernels freigegeben, die unter anderem den ersten Schritt zur Xen-Dom0-Unterstützung sowie zahlreiche Änderungen für bessere Skalierbarkeit enthält.


    Nur zweieinhalb Monate nach Linux 2.6.36 bringt Version 2.6.37 mehr Änderungen unter der Haube als für die Benutzer merkliche Änderungen mit. Dementsprechend war der Entwicklungszyklus vergleichsweise kurz und nach Angaben von Torvalds ruhig. Das soll sich mit der nächsten Version ändern, die unter anderem weitere Geschwindigkeitsverbesserungen erwarten lässt.



    Dennoch wurden in den neuen Kernel gegenüber dem Vorgänger über 12.200 Änderungen integriert, mehr als in den letzten sechs Versionen. Nicht die größte, aber die wohl wichtigste Änderung ist die Entfernung des »Big Kernel Lock« aus dem Kern des Kernels. Der »Big Kernel Lock« (BKL) wurde 1996 mit der Erweiterung des Kernels um SMP-Fähigkeiten eingeführt, um den gleichzeitigen Zugriff von zwei Prozessoren auf die gleichen Datenstrukturen zu regeln. Diese Methode skaliert allerdings schlecht auf viele Prozessoren und Threads, daher werden die Sperren seit Jahren verfeinert und der BKL wurde nur noch in wenigen Fällen benötigt. Jetzt sind bis auf einige Treiber, neben den V4L-Treibern hauptsächlich ziemlich alte Treiber, alle Teile des Kernels frei vom »Big Kernel Lock«. Für die meisten Benutzer dürfte die Änderung allerdings kaum spürbar sein.


    Nach einiger Verzögerung wurden nun auch die Patches von Nick Piggin zur Skalierbarkeit des virtuellen Dateisystems integriert. Diese sollen das System spürbar schneller machen. Das Dateisystem GFS2 ist jetzt nicht mehr als experimentell gekennzeichnet. Der NFS-Client erhielt eine neue idmapper-Implementierung für die Übersetzung zwischen Benutzer- und Gruppen-Namen und -IDs, die schneller und flexibler sein soll. Ferner können mit der neuen Mount-Option local_lock Dateisperren wie lokale Sperren behandelt werden. Unterstützung für das pNFS-Protokoll kam ebenfalls hinzu.


    Das Dateisystem ext4 erhielt eine »faule« Initialisierung der Inode-Tabellen. Dadurch können neue Dateisysteme schneller angelegt werden. Außerdem wurden etliche Maßnahmen zur Erhöhung des Durchsatzes und der Skalierbarkeit getroffen.


    Der Control-Group-Mechanismus wurde erweitert, so dass er nun auch die Bandbreite zu Block-Geräten begrenzen kann. Einige Verbesserungen flossen in den Hibernation-Code ein, so kann das Speicherabbild nun mit LZO komprimiert werden.


    Ein großer Teil des Hypervisors Xen wurde in den Kernel aufgenommen. Zwar wird es in 2.6.37 noch nicht möglich sein, Linux ohne separate Patches als Dom0 zu betreiben, zumindest nicht sinnvoll. Im Prinzip fehlen dann aber nur noch einige Treiber, die wohl in Linux 2.6.38 kommen werden, wenn der Plan von Jeremy Fitzhardinge aufgeht.


    Das in Linux 2.6.36 noch nicht aktivierte neue fanotify, ein Mechanismus, mit dem ein außerhalb des Kernels laufender Daemon von Dateioperationen benachrichtigt werden kann, wurde fertiggestellt. fanotify kann unter anderem auch den Zugriff auf die betroffene Datei verwehren. Virenscanner sind eine mögliche Anwendung des neuen Subsystems, hierarchische Speicherverwaltung und anderes können jedoch auch davon profitieren


    Die VMI-Paravirtualisierung von VMware wurde entfernt, nachdem sie schon vor einem Jahr als veraltet markiert worden war. Auch der alte ieee1394-Treiber, Vorgänger der neuen Firewire-Treiber, wurde entfernt. Dafür kamen wieder zahlreiche Treiber hinzu. Auch eine Kernel-Implementierung des Point-to-Point Tunneling Protocol (PPTP) wurde hinzugefügt.


    Viele Änderungen sind nur für Entwickler von Interesse, so wurden beispielsweise neue Trace-Punkte eingefügt und eine Optimierung vorgenommen, die den Overhead von inaktiven Trace-Punkten auf nahezu Null reduziert. Eine vereinfachte RCU-Variante für Ein-Prozessor-Rechner steht nun zur Verfügung. Es gibt nun auch einen Mechanismus, um beliebigen Code im Interrupt-Kontext auszuführen, allerdings ist unklar, wofür diese riskante Möglichkeit benötigt wird. Das Energieverwaltungs-Subsystem wurde um ein formales Konzept von »Aufweckereignissen« erweitert. Das sind die Ereignisse, die ein System aus einem Schlafzustand bringen. Andererseits wurde auch ein Mechanismus eingebaut, der es erlaubt, untätige Geräte automatisch schlafenzulegen.


    Eine Liste aller Änderungen enthält das sehr ausführliche Changelog. Die Seite Kernelnewbies.org wird in Kürze eine übersichtliche Zusammenfassung der Änderungen veröffentlichen. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.


    Quelle: Pro-Linux

    Gruess Suse-Newbie

    Für den Inhalt des Beitrages 27810 haftet ausdrücklich der jeweilige Autor: Suse-Newbie