Zum Hauptinhalt Zur Navigation

Open Source: Linux 3.15 wacht schneller auf

Künftig sollen Linux-Systeme schneller aus dem Tiefschlaf aufwachen. Nebenbei werden die Latenzzeiten der Peripheriegeräte durch den Kernel verwaltet. Mit neuen Posix-Sperren lässt sich auf große Dateien von mehreren Threads zugreifen. Und Linux 3.15 läuft besser auf mehreren Bildschirmen.
/ Jörg Thoma
36 Kommentare News folgen (öffnet im neuen Fenster)
Linux 3.15 startet in die Testphase. (Bild: Michael Van Woert, Noaa Nesdis, Ora/Public Domain)
Linux 3.15 startet in die Testphase. Bild: Michael Van Woert, Noaa Nesdis, Ora/Public Domain

Linus Torvalds hat den Linux-Kernel 3.15 freigegeben(öffnet im neuen Fenster) . Der neue Linux-Kernel bringt Verbesserungen in der Energie- und der Speicherverwaltung mit. Neben feineren Posix-Sperren für große Dateien gibt es auch einen modernisierten Berkeley Packet Filter.

Während das aktuelle Linux 3.15 noch in der Testphase war, hatte Torvalds bereits das Merge-Fenster für Linux 3.16 geöffnet, da er in der Übergangszeit mit seiner Familie im Urlaub war. Spekulationen, er werde künftig die Entwicklungsphasen des Linux-Kernels so verkürzen, trat er jedoch entgegen: Die Entwickler sollten sich vielmehr auf die Optimierung des bevorstehenden Kernels konzentrieren und nicht bereits neue Patches einreichen.

Die auffallendste Neuerung dürften die deutlich reduzierten Aufwachzeiten aus Suspend-to-RAM sein. Zwei Patches für den ATA-Controller- und den SCSI- oder Sd-Treiber sorgen dafür, dass das System nicht mehr auf das Initialisieren der Datenträger wartet, sondern sie parallel zum weiteren Systemstart aufweckt. Meist werden keine Datenträgerzugriffe beim Aufwecken des Systems benötigt. Sollten dennoch welche anfallen, werden sie vorübergehend ausgesetzt. Mit den Patches reduzierte sich die Startzeit auf einigen getesteten Systemen mit einem einzigen Datenträger von fünf Sekunden auf eine. Auf einem anderen System mit mehreren Datenträgern sank die Aufwachzeit von zwölf Sekunden auf ebenfalls nur eine.

Bessere Latenzverwaltung

Mit den Patches für das Subsystem der Energieverwaltung sollen die Latenzzeiten der Peripheriegeräte besser verwaltet werden. Sowohl der Kernel als auch User-Space-Anwendungen können ihre Latenzvorgaben mitteilen und so verhindern, dass Geräte unnötig in einen zu tiefen Schlafmodus fallen. Bislang konnten nur Treiber dem Kernel über das Power-Management-Quality-of-Service die für ihre Hardware benötigten Latenzzeiten mitteilen, ab Linux 3.15 funktioniert das auch umgekehrt(öffnet im neuen Fenster) .

Mit der Einführung dateispezifischer Posix-Sperren kann der Locking-Mechanismus deutlich gezielter verwendet werden, etwa bei der Synchronisierung von Threads innerhalb eines Prozesses, was bisher nicht möglich war. Dadurch lassen sich auch Teilbereiche einer Datei sperren. Allerdings sind auch Entwickler von den Änderungen betroffen. In der Bibliothek Glibc beispielsweise muss die Funktion noch umgesetzt werden. Ein umfangreicher Artikel auf LWN.net(öffnet im neuen Fenster) erklärt die neuen Locks und wie sie angewendet werden können.

Neuer Algorithmus für die Speicherverwaltung

Die Speicherverwaltung arbeitet jetzt effizienter, denn es wird versucht, Speicherseiten nicht auszulagern, wenn klar ist, dass sie kurz darauf wieder benötigt werden. Gegebenenfalls werden dafür Daten aus dem Speicher entfernt, die zuletzt wenig Zugriffe hatten, davor aber intensiv genutzt wurden. Dafür sorgt ein neuer Algorithmus, der aktive und inaktive Seiten in entsprechenden Listen sortiert und bewertet. Das soll vor allem für mehr Effizienz bei großen Speicherseiten sorgen, etwa bei der Virtualisierung oder bei Datenbankanwendungen.

Der Berkeley Packet Filter (BPF) erhielt massive Änderungen und Erweiterungen. Unter anderem gibt es einen neuen Interpreter, der jetzt 64-Bit-Werte unterstützt und entsprechend einen moderneren Befehlssatz mitbringt. An einem entsprechenden Just-in-Time-Compiler (JIT) arbeiten die Entwickler aber noch, er soll im nächsten Linux-Kernel folgen. Die schon vorhandenen JITs funktionieren aber noch. Welche Änderungen im neuen BFS umgesetzt wurden, lässt sich in der bereits angepassten Dokumentation(öffnet im neuen Fenster) nachlesen.

Effizienteres Fuse und etwas mehr Grafik

Das Fuse-Dateisystem beherrscht jetzt Writeback-Caching, was für eine höhere Schreibgeschwindigkeit bei großen Dateien über das Netzwerk sorgen soll, da sie in größeren Abschnitten kopiert oder verschoben werden können.

Unter /proc/device-tree zeigte der Linux-Kernel vor allem auf eingebetteten Geräten bislang sämtliche Geräte eines Systems auf. Da die gleichen Informationen auch unter /sys/firmware/devicetree/base zur Verfügung stehen, werden sie im Proc-Verzeichnis künftig nur noch verlinkt. Das in Linux 3.14 eingeführte Kernfs-Dateisystem erhielt ebenfalls Verbesserungen, die es für externe Anwendungen benutzbarer machen soll.

Grafik und ein wenig LTO

Mit Universal Plane Support verbessert sich die Unterstützung des Grafikstack des Linux-Kernels für den Betrieb an mehreren Bildschirmen. Zum einen gibt es weniger Störungen bei der Konfiguration, zum anderen wird die Ausgabe durch schlankeren Code beschleunigt. Der Nouveau-Treiber kommt jetzt etwas besser mit Nvidias neuem Maxwell-Chipsatz zurecht, obwohl dafür weiterhin der Binär-Blob benötigt wird. Außerdem gibt es wieder Änderungen an dem Treiber für Intels Broadwell-Hardware. Der Radeon-Treiber für Grafikchips von AMD erhält eine Schnittstelle zu dem Video-Encoder VCE2.

Der vieldiskutierte LTO-Patch (Link Time Optimizations) wurde nur teilweise in den Kernel übernommen, denn noch zeigt sich Torvalds nicht davon überzeugt . Der Code in weiteren eingereichten Patches sei nicht reif für den Linux-Kernel. Außerdem wolle Torvalds überzeugt werden, dass sich die teilweise tiefgreifenden Umbauten überhaupt lohnen.

LTO wird nicht nur vom Gnu C Compiler (GCC) verwendet, sondern auch vom Clang-Compiler des LLVM-Projekts. Dessen Entwickler haben Patches eingereicht, die die Kompatibilität zu Clang erweitern sollen. Damit soll der Linux-Kernel bald mit Clang erstellt werden können.

USB 3.0 kennt wieder Attached Storage

In Linux 3.15 wurde außerdem USB Attached Storage im USB-3.0-Treiber reaktiviert. Dieser sorgt im Vergleich zum herkömmlichen USB-Mass-Storage-Treiber für eine leistungsfähigere Datenübertragung. Bislang gab es mit dem Treiber noch Probleme, daher wurde er in Linux 3.8 zunächst deaktiviert.

Auf den wenigen Geräten, die einen 64-Bit-Prozessor aber ein 32-Bit-EFI haben, lässt sich Linux 3.15 dank EFI Mixed Mode jetzt installieren. Meist handelt es sich um Tablets mit Intels Bay-Trail-Prozessoren.

Linux 3.15 steht unter Kernel.org(öffnet im neuen Fenster) zum Download bereit.


Relevante Themen