Die Neuerungen von Linux 3.16

Seite 2: Netzwerk, Infrastuktur, Storage

Inhaltsverzeichnis

TCP Fast Open (TFO), das seit 3.13 den Aufbau von HTTP-Verbindungen beschleunigen kann, funktioniert nun auch mit IPv6. Die Netzwerk-Treiber für Xen-Hosts und Gäste verwenden nun mehrere Warteschlangen und sollen dadurch schneller arbeiten (1, 2, 3).

Der bei 3.15 erneuerte Berkeley Packet Filter (BPF) kann auf x86-64-Systemen nun auf einen Just in Time Compiler zurückgreifen. Er ersetzt einen x86-64-JIT, der für den alten BPF-Interpreter geschriebenen Code ausführen konnte. Solchen Code soll der neue JIT ebenso schnell ausführen wie der alte, der allerdings drei BPF-Extensions nicht unterstützt hat. Der neue JIT kennt diese und kann so auch von dem bei 3.5 eingeführten Seccomp Filters Mechanism genutzt werden, der Funktionsaufrufe filtert, um Software in eine Sandbox zu sperren. Durch den neuen JIT sollen Filter, die auf solche BPF-Erweiterungen zurückgreifen, deutlich schneller arbeiten; einige Micro-Benchmarks sollen zwanzig Mal bessere Werte liefern.

Die Reader Writer Semaphores (rwsem), die der Kernel an manchen Stellen zum Locking verwendet, nutzen nun "Optimistic Spinning" und sollen dadurch in bestimmten Situationen deutlich schneller arbeiten. Der Entwickler der Änderung erwähnt im Commit-Kommentar eine Messung mit dem Aim7-Benchmark, der um 20 bis 60 Prozent bessere Werte erzielt habe; der PostgreSQL-Benchmark Pgbench habe in einem Test rund 60 Prozent mehr Durchsatz geliefert.

Den Kernel-Quellen liegt nun das Bash-Skript decode_stacktrace.sh bei. Es kann die bei Kernel-internen Fehlern ausgegebenen Stacks-Dumps aufarbeiten, damit der Aufrufweg der Funktion klarer zu sehen ist, in der der Fehler aufgetreten ist.

Die Kernel-Entwickler haben das Locking des Storage-Treibers virtio-blk optimiert. Der vor allem bei der KVM-Virtualisierung in Linux-Gästen verwendete Treiber soll dadurch in bestimmten Situationen erheblich schneller arbeiten. Der Treiber für die Micron RealSSD PCIe verwendet nun den Multi-Queue Block IO Queueing Mechanism (blk-mq). Diese für sehr schnelle Storage-Hardware entwickelte Infrastruktur bietet Basis-Funktionen für Storage-Treiber; sie wurde bei 3.13 integriert und erhielt jetzt mehrere Verbesserungen. Blk-mq soll damit nun nahe am gewünschten Funktionsumfang sein und in bestimmten Situationen nochmals schneller arbeiten (u. a. 1).