Login
Login-Name Passwort


 
Newsletter
Werbung

Di, 2. November 2010, 08:00

Software::Kernel

Linux-Kernel 2.6.37 tritt in die Testphase ein

Linux-Initiator Linus Torvalds hat die Kernel-Version 2.6.37-rc1 freigegeben, in der sich der erste Schritt zur Xen-Dom0-Unterstützung sowie zahlreiche Änderungen für bessere Skalierbarkeit finden.

Linus Torvalds, Initiator des Linux-Kernels

Linux Foundation

Linus Torvalds, Initiator des Linux-Kernels

In den elf Tagen seit der Freigabe von Linux 2.6.36 hat Torvalds laut seinen Anmerkungen knapp 10.000 Änderungen in den Kernel integriert. Das sind etwas mehr als in den letzten beiden Versionen, obwohl das Zeitfenster für das Einbringen von Änderungen nur elf statt 14 Tage umfasste.

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.

Die zahlreichen weiteren Änderungen sind im ausführlichen Änderungslog zu finden. Kernel, Patch- und Änderungslog-Dateien sind von zahlreichen Spiegelservern von kernel.org herunterzuladen.

Werbung
Kommentare (Insgesamt: 8 || Alle anzeigen || Kommentieren )
Re[2]: C++ ist eine abscheuliche Sprache (dcd, Di, 2. November 2010)
Re[2]: Treiber mit BKL (glasen, Di, 2. November 2010)
Re: Treiber mit BKL (blubb, Di, 2. November 2010)
Re: C++ ist eine abscheuliche Sprache (Oh Nein, Di, 2. November 2010)
C++ ist eine abscheuliche Sprache (C++ vs. C, Di, 2. November 2010)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung