Die Neuerungen von Linux 3.13

Seite 2: Dateisysteme, Infrastruktur, Treiber

Inhaltsverzeichnis

Squashfs, das viele Linux-Distributionen zur Kompression des Root-Dateisystems ihrer Live-Medien nutzen, schreibt dekomprimierte Dateien jetzt direkt in den Page Cache; wie der Entwickler im Commit-Kommentar erläutert, konnte das den Durchsatz in einem Test von 13,7 auf 67,6 MByte/s steigern. Eine weitere Geschwindigkeitsverbesserung verspricht das Dekomprimieren mit mehreren Threads, was die Laufzeit eines Testszenarios mit vier Threads von 99 auf 9 Sekunden verkürzte (1, 2).

Btrfs gilt weiterhin als experimentell; durch eine Anpassung am Kernel-Konfigurations-Hilfetext ist nun aber der in fetten Lettern geschriebene Hinweis verschwunden, das On-Disk-Format des Dateisystems könne sich noch ändern. Stattdessen heißt es jetzt, das Datenträgerformat solle sich nur ändern, wenn es dafür gute Gründe gibt; wenn es solche gäbe, dann sollen auch neue Kernel Datenträger mit dem alten Format weiter unterstützen. So handhaben es die Entwickler der Ext-Dateisysteme, bei denen es diesmal nur kleinere Änderungen gab, schon seit langem.

Die Kernel-Entwickler haben die bei 3.8 eingeführten und bislang nur rudimentären Funktionen erheblich ausgebaut, um Prozesse und die von ihnen verwendeten Arbeitsspeicherbereiche automatisch zusammenzuhalten (u. a. 1, 2). Das ist für die im Server-Umfeld häufig anzutreffenden Multiprozessor-Systeme mit NUMA (Non-Uniform Memory Access) wichtig, denn auf lokal angebundenen Arbeitsspeicher greift ein Prozess schneller zu als auf Speicherbereiche von RAM-Modulen, die anderen Prozessoren zugeordnet sind.

Zudem soll Linux 3.13 durch Änderungen am Memory-Management-Code etwas schneller auf Systemen arbeiten, die verstärkt große Speicherseiten (Huge Pages) nutzen (u. a. 1, 2). Auch einige Verbesserungen am SLAB Allocator versprechen einen kleinen Performance-Gewinn.

Beim Random-Subsystem gab es zahlreiche Änderungen, die Zuverlässigkeit, Geschwindigkeit und Qualität der vom Kernel gelieferten Zufallszahlen steigern sollen (u. a. 1, 2, 3). Es lassen sich nun Kernel kompilieren, die bis zu 8192 CPU-Kerne unterstützen; bislang waren es halb so viele. Über neue Treiber kann der Kernel Rechenaufgaben an PCIe-Steckkarten mit Intels Xeon Phi übergeben (u. a. 1, 2, 3, 4, 5).

Der neue In Kernel Switcher (IKS) verbessert die Unterstützung für ARM-SoCs mit Big-Little-Architektur (u. a. 1, 2). Beim IKS bilden je ein schneller, aber stromhungriger, und ein langsamer, aber sparsamer ARM-Kern einen Verbund, bei der je nach Systemlast der eine oder andere Kern arbeitet. Eine viel flexiblere Ansteuerung und größeres Stromsparpotenzial verspricht Heterogeneous Multi-Processing (HMP), bei dem der Linux-Kernel die CPU-Kerne nicht paarweise, sondern alle separat anspricht; der dafür benötigte Kernel-Code hat aber noch einiges an Entwicklungsarbeit vor sich.

Bei demTreiber hid_apple  für Apple-Tastaturen kann man nun über den Parameter swap_opt_cmd=1 die Belegung von Option- und Command-Taste tauschen, damit sich eine Apple-Tastatur schon während des Starts ähnlich bedienen lässt wie moderne PC-Tastaturen. Zu den Media-Treibern stieß ein Treiber für den  DVB-S/S2-tauglichen Tuner CX24117 von Conexant. Neu dabei ist auch Unterstützung für die Tastatur Roccat Ryos MK und den Touchscreen des als Microsoft Surface 2.0 beziehungsweise Pixelsense verkauften dSamsung SUR40.

Der Netzwerk-Stack von Linux 3.13 nutzt nun standardmäßig TCP Fast Open (TFO). Die TCP-Erweiterung, die den HTTP-Verbindungsaufbau beschleunigen kann und beim IETF noch Draft-Status hat, wird Client-seitig seit Linux 3.6 unterstützt; der Server-Code folgte bei 3.7.