Die Neuerungen von Linux 3.13

Der Kernel 3.13 enthält die neue Firewall-Infrastruktur Nftables und ist erheblich besser für besonders flotte Datenträger gerüstet.

In Pocket speichern vorlesen Druckansicht 22 Kommentare lesen
Lesezeit: 10 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Zwei Wochen länger als gewohnt hat es gedauert, aber jetzt ist der Linux-Kernel 3.13 fertig. Schuld an der längeren Entwicklung sind weder größere Änderungen oder schwerwiegende Bugs, sondern schlicht zwei Reisen von Linus Torvalds, die in die Anfangs- und End-Phase der Linux-3.13-Entwicklung fielen. Neuerungen gibt es daher im gewohnten Maß; darunter allerdings gleich zwei, die erhebliche Bedeutung für die Zukunft haben.

Das neue Netzwerk-Paketfilter-Subsystem Nftables ist die Neuerung von 3.13, die mittelfristig die größten Auswirkungen haben dürfte. Der neue Filter-Mechanismus für Firewalls soll nämlich die existierenden Paketfilter Iptables, Ip6tables, Arptables und Ebtables ablösen, bei denen die Unterstützung für IPv4, IPV6, ARP und Ethernet Bridging direkt im Kernel-Code steckt. Das Nftables-Subsystem hingegen ist protokollunabhängig, denn es ist im wesentlichen eine simple virtuelle Maschine, bei der Bytecode die Filterarbeiten erledigt.

Diesen Bytecode wird durch Userspace-Software wie dem Nftables-Programm Nftables-Tool nft erstellt und über ein Netlink-API in den Kernel geladen. Statt im Kernel steckt die Unterstützung für IPv4 und Co. so im Userspace. Nft weist allerdings eine andere Syntax auf als die vertrauten Werkzeuge iptables und ip6tables, die bislang zur Konfiguration von Linux-Firewalls dienen. Um Abwärtskompatibilität zu bieten und den Übergang auf Nftables zu erleichtern, haben die Nft-Entwickler daher Varianten dieser beiden Programme erstellt, die aus bestehenden Filterregeln Bytecode für das Nftables-Subsystem generieren.

Das Verlagerung von Teilen des Paketfilter-Codes soll die Wartung des Kernels erleichtern und einige Beschränkungen des aktuellen Codes beseitigen. So soll mit Nftables das Ändern von Filter-Regeln im Betrieb nicht nur zuverlässiger, sondern auch erheblich schneller funktionieren; das ist insbesondere für Firewalls mit einem großen Regelsatz von Vorteil.

Im Detail​

Bereits in den vergangenen Wochen hat das Kernel-Log in der Serie "Was 3.13 bringt" detailliert über die Änderungen von Linux 3.13 berichtet:

  1. Dateisysteme & Storage
  2. Netzwerk
  3. Infrastruktur
  4. Treiber
  5. Grafiktreiber

Der nebenstehende Text fasst die wichtigsten Neuerungen dieser Artikel zusammen und gibt einen Ausblick auf Linux 3.14.

Der neue Multi-Queue Block IO Queueing Mechanism soll Linux für besonders schnelle Datenträger fit machen – also PCIe-SSDs, NVMe-Hardware und andere Datenträger, die noch mehr IO-Operationen pro Sekunde (IOPS) ausführen als aktuelle Desktop- und Notebook-SSDs. Dazu stellt das kurz "blk-mq" genannte Framework den Storage-Treibern unter anderem  Grundfunktionen zur Verfügung, um die Arbeit auf mehrere Warteschlangen zu verteilen; anders als bei den Block-Layer-Funktionen, auf die Storage-Treiber bislang zurückgreifen, verteilen sich die Aufgaben so auf mehrere Threads und daher erheblich besser auf die verfügbaren CPU-Kerne. Nur so lässt sich das Potenzial der heute schnellsten Datenträger nutzen, daher lassen einige aktuelle Treiber für flotte Storage-Hardware die vom Block Layer gebotenen Funktionen links liegen und erledigen alles selbst.

Auch Treiber für Allerwelts-Datenträger sollen von der neuen Multiqueue-Infrastruktur profitieren können. Bislang nutzt die allerdings nur der schon länger im Kernel enthaltene Treiber virtio-blk; erst in naher Zukunft wollen die Kernel-Entwickler weitere Treiber konvertieren.

Radeon-Grafikchips seit der Southern Island-Generation (Radeon 7750 und neuer) liefern mit den Open-Source-Treibern von Mesa 3D nun bis zum Sechsfachen an 3D-Leistung. Das ist einer wenige Codezeilen kleinen Änderung in Linux 3.13 zu verdanken, die einen Programmierfehler beseitigt, durch den der Linux-Kernel bislang nur einen Teil der GPU-Rechenwerke aktiviert hat.

Bei den meisten modernen Radeon-Grafikkernen verwendet der Kernel jetzt standardmäßig Dynamic Power Management (DPM) (1, 2, 3, 4, 5, 6). Diese Radeon-spezifische Stromspartechnik kann die Leistungsaufnahme erheblich reduzieren und wird seit 3.11 unterstützt, musste aber bislang manuell aktiviert werden. Der HDMI-Audio-Support des Radeon-Treibers arbeitet jetzt standardmäßig und beherrscht nun Multi-Channel Audio.

Der Intel-Grafiktreiber stellt jetzt Grundlagen zur Ansteuerung von 3D-Bildschirmen via HDMI bereit. Zudem unterstützt der Treiber auch die GPU der Broadwell-Prozessoren, die Intel in einigen Monaten einführen will. Der Nouveau-Treiber aktiviert nun standardmäßig die automatische Lüfterregelung. Der Treiber für Nvidias SoCs der Tegra-Reihe bietet in Linux 3.13 erstmals Schnittstellen, über die Userspace-Treiber 3D-Beschleunigung nutzen können.