Linux 5.6 unterstützt Wireguard und USB4

Linux 5.6 unterstützt Wireguard und USB4

Trends & News | Kernel-Log

Die Linux-Entwickler verbessern den Support für den Raspberry Pi 4. Linux läuft außerdem besser unter VirtualBox und bringt endlich 3D-Support für Nvidias aktuelle GeForce-Grafikkarten.

Das für den 30. März oder 6. April erwartete Linux 5.6 wird endlich die VPN-Technik Wireguard unterstützen, die seit einer Weile viel von sich reden macht. Selbst Linus Torvalds hat sie in höchsten Tönen gelobt. Zu verdanken ist das Eigenschaften wie einem schnellen Verbindungsaufbau, guter Performance, leichter Konfigurierbarkeit und guter Linux-Integration. Die recht schlanke VPN-Technik nutzt zudem modernste Kryptoalgorithmen und handhabt Verbindungsunterbrechungen so, dass der Anwender selten etwas davon merkt.

Neu ist auch Unterstützung für USB4. Die wird bald wichtig zur Linux-Installation auf Notebooks und Desktop-PCs, die Intels nächste Prozessorgeneration enthalten: Diese bislang nur unter dem Codenamen „Tiger Lake“ bekannte und für das zweite Halbjahr erwartete CPU-Familie soll die aus Thunderbolt 3 hervorgegangene Verbindungstechnik bereits mitbringen.

Nach dem in Linux 5.5 eingeführten Basis-Support für den Raspberry Pi 4 folgt mit 5.6 jetzt ein Treiber für den PCIe-Controller des beliebten Einplatinencomputers. Dadurch lässt sich nun auch der darüber angebundene USB-Controller nutzen. Der offizielle Kernel unterstützt den Raspi 4 somit deutlich besser, aber 3D-­Unterstützung und einiges andere fehlt nach wie vor.

Linux 5.6 enthält ersten Code, über den Anwendungen bald Version 1 von Multipath TCP (MPTCP) nutzen können: eine Technik, die die Netzwerkkommunikation über mehrere parallel aufgebaute Verbindungen handhabt. Über das beim Mobilfunkstandard 5G vorgeschriebene MPTCP lässt sich etwa die Kapazität mehrerer Verbindungen bündeln. Das Ganze ist auch für Streaming relevant, damit etwa die Video-Wiedergabe nicht stockt, wenn ein Notebook die Reichweite des WLANs verlässt und nur noch via Mobilfunk ins Internet findet.

Btrfs kann Datenträger jetzt im Hintergrund per Trim & Co. über nicht mehr genutzte Speicherbereiche informieren. Das gelingt über die neue Betriebsart „Async Discard“, die diese Meldungen gelegentlich unabhängig von den normalen Tätigkeiten absetzt. Das vermeidet größere Performance-Einbrüche, wie sie bisher manchmal beim Discard auftreten.

Der NFS-Servercode des Kernels lässt sich jetzt anweisen, einzelne Dateien oder Verzeichnisse auf andere NFS-Server zu kopieren. Der NFS-Client des Kernels kann solch ein „Server-to-Server Copy Offload“ seit Linux 5.5 veranlassen. So kann er vermeiden, die zu kopierenden Dateien erst herunterzu­laden, um sie dann selbst zum Zielserver zu schicken.

Ab Version 5.6 muss man vielfach keine Gast-Treiber mehr installieren, damit Linux ordentlich in Virtual Ma­chines (VMs) von VirtualBox läuft. Nach zwei von drei dafür benötigten Kernel-Treibern bringt Linux nun endlich auch den dritten mit: Vboxsf, mit dem sich VirtualBox Guest Shared Folders einbinden lassen. Mit der Technik kann man aus dem Gast sehr effizient einzelne, explizit konfigurierte Verzeichnisse des Wirts einbinden.

XFS-Umbauten langsam produktionsreif

Auch mit dem XFS-Dateisystem kann man jetzt komplexe Verzeichnisse oder große Dateien in Sekundenbruchteilen kopieren. Das funktioniert wie bei Btrfs und ZFS über „Reflink“-Kopien (cp --reflink), was rasend schnelle Snapshots oder schnelles Provisioning von VMs ermöglicht. Die Schnellkopien gelingen mithilfe von Copy-­on-Write (COW): Btrfs und ZFS nutzen das von jeher, XFS hat es in den letzten drei Jahren gelernt. Das ist nur ein Feature, das XFS im Rahmen einiger tief greifender Umbauten jüngst erhalten hat. Das Kernel-Log hat solche jeweils bei der Integration beschrieben. Anfangs sind solch neue Features aber immer experimentell; seit Version 5.1 der XFS-Userspace-­Werkzeuge gilt COW samt Relink-Kopien aber mittlerweile als produktionsreif. Neu formatierte Dateisysteme beherrschen die Funktion sogar standardmäßig.

Dem bei 4.17 integrierten Online Filesystem Checking haftet der Experimentierstempel derweil noch an. Das Feature zum Prüfen des Dateisystems im laufenden Betrieb soll laut XFS-Maintainer Darrick Wong aber seit den Xfsprogs 5.3 stabil arbeiten, sofern man mindestens Linux 5.3 einsetzt.

Details zu diesen zwei Features sowie Beispiele zum praktischen Einsatz erläutert Wong in zwei Blog-Beiträgen. An Code, der Dateisysteme im Betrieb auch reparieren kann, arbeitet er noch. Durch diese und andere Verbesserungen wäre vielleicht bald eine Bezeichnung wie XFS2 angebracht – bei ähnlich weitreichenden Umbauten und Erweiterungen in der Vergangenheit gab es aber keine solchen Namensanpassungen, sonst müsste das Dateisystem schon längst mindestens XFS3 heißen.

Programme, die Zufallszahlen via /dev/random abrufen, erhalten solche jetzt auch, wenn die Entropiequellen des Kernels leer laufen; das gilt allerdings erst, nachdem der Kernel seinen Cryptographic Random-­Number Generator (CRNG) einmalig vollständig initialisiert hat. Die Device-Datei verhält sich dadurch jetzt fast wie /dev/urandom – sie lässt Programme nicht mehr warten, wenn die Entropie ausgeht. Dieses „Blocken“ machte sich etwa bei älteren Versionen von Gnupg bemerkbar: Die Schlüsselerzeugung stockte manchmal, bis man neue Entropie erzeugte, indem man Eingabegeräte oder Datenträger verwendete.

Die Control Groups der zweiten Generation (Cgroups v2) bringen jetzt einen Controller mit, der die Verwendung großer Arbeitsspeicherseiten (Huge Pages) regelt. Nach Ansicht des Cgroup-Maintainers war es das letzte Feature, das der moderneren und stringenteren Infrastruktur zum Begrenzen und Messen des Ressourcenverbrauchs noch fehlte. Als eine der ersten Distributionen ist Fedora im Herbst auf die Cgroups v2 umgestiegen.

Linux 5.6 enthält alles Nötige zum Bau von 32-Bit-Betriebssystemen, die nicht am Jahr-2038-Problemen kranken. Das ist umfangreichen, über mehrere Jahre vorangetriebenen Umbauten zu verdanken, die das seit langem bekannte Manko vieler unixoider Betriebssysteme endlich ausräumen. Die Beseitigung ist vorwiegend für 32-Bit-ARM-Prozessoren in Autos oder Industriesteueranlagen gedacht, die in zwanzig oder dreißig Jahren noch korrekt arbeiten sollen. Das erfordert aber auch verbesserte Versionen von C-Standard-Bib­liotheken wie der Glibc, die die größeren Zeitstempel zu nutzen wissen, die der Kernel bei neue Syscalls verwendet. Außerdem müssen alle anderen Bibliotheken und Anwendungen auch darauf abgeklopft werden, ob sie Zeitangaben ab dem 19.01.2038 noch richtig handhaben: Dann nämlich läuft der traditionelle Zeitstempel time_t bei 32-Bit-Systemen über.

Nachdem der älteste ISDN-Stack mitsamt des bekannten Hisax-Treibers bei 5.3 rausflog, haben die Entwickler jetzt wie angedroht auch den ISDN-Capi-Treiber und das Gros ihrer Infrastruktur entfernt; der mISDN-Stack, den die Telefonanlagen- und VoIP-Software Asterisk nutzt, bleibt aber. Rausgeflogen ist auch der bei 3.19 eingepflegte Support für die Memory Protection Extension (MPX) von Intel. Laut den Entwicklern hat der Markt die Technik nicht angenommen, bei zukünftigen Prozessoren entfällt sie womöglich und die erforderliche Unterstützung durch den Compiler wurde aus der GNU Compiler Collection (GCC) bereits getilgt.

Analyseprogramme wie sensors liefern mit Linux 5.6 die Temperatur moderner ATA-Festplatten und -SSDs. Das gelingt ohne explizite Konfiguration, weil Linux diese Messwerte jetzt vollautomatisch via Sysfs bereitstellt. Auch für Ryzen-Prozessoren bessert sich die Lage: Statt ein oder zwei Temperaturen liefert der Kernel Werte der verschiedenen CPU-Dies und zeigt auch Stromstärke und -Spannung.

Die Asus-TUF-Notebooks und ihre ­Ryzen-CPUs laufen mit dem neuen ­Kernel deutlich schneller.

Bei den Asus-Notebooks FX505DY und FX705DY liefern die Prozessoren mit dem neuen Kernel endlich ordentliche Performance. Die war Gaming-Notebooks der TUF-Reihe bislang verwehrt, weil sie im „Silent“-Modus starten und ihre Ryzen-CPUs sogar auf 400 MHz herunterschalten, sobald diese das erste Mal richtig heiß wurden. Das vermeidet Linux jetzt, indem es beim Start den „Default“-Modus aktiviert. Außerdem unterstützt es nun die Funktionstaste, über die man die Betriebsart wählen kann; dadurch lässt sich zudem in den schnellsten, „Overboost“ genannten Modus wechseln.

Wenn die AMD- und Intel-Grafiktreiber die Monitore via DisplayPort (DP) mit Multi Stream-Transport (MST) ansteuern, können sie dabei nun Display Stream Compression (DST) verwenden. Diese Kompressionstechnik ist vielfach nötig, wenn besonders viele Daten in kurzer Zeit durch das DP-Kabel müssen – etwa bei 8K-Displays, 4K-Bildschirmen mit hohen Bildwiederholfrequenzen oder bei der Anbindung mehrerer Monitore über ein Kabel.

Bei den „Turing“-GPUs von GeForce-­Grafikkarten der Serien 1600 und 2000 ermöglicht Nouveau jetzt endlich 3D-Beschleunigung. Der Grafiktreiber des Kernels braucht dazu wie üblich eine von Nvidia signierte Firmware, die das Unternehmen kürzlich freigegeben hat – eineinhalb Jahre nach Einführung dieser Grafikchips und abermals kurz bevor es eine noch leistungsfähigere GPU-Generation auf den Markt bringt. Wie bei den zwei vorangegangenen GeForce-Serien ist es mit dieser Firmware zudem unmöglich, die Grafikprozessoren in ihre schnellsten oder sparsamsten Betriebsmodi zu schalten. Nvidia legt Nutzern und Entwicklern freier Software somit weiterhin große Steine in den Weg, denn dadurch spielen die Karten mit dem vielfach standardmäßig eingerichteten Nouveau-Treiber ihr Leistungspotenzial nicht aus und verbrauchen zugleich unnötig Strom. (thl)

Schaffenspause

Kernel-Log-Autor Thorsten Leemhuis nimmt für den Rest des Jahres eine Auszeit von der schreibenden Zunft. Nach vierzehn Jahren kommt damit auch seine Kolumne bis auf Weiteres zum Erliegen, in der er seit Linux 2.6.15 die Entwicklung des Linuxkernels begleitet. Seitdem sind alle zweieinhalb Monate neue Linux-Versionen erschienen, letztlich über siebzig; um deren wesentliche Neuerungen zu finden und zu beschreiben, hat Thorsten knapp neunhunderttausend Änderungen im Quellcodeverwaltungssystem durchwühlt.

Dieser Artikel stammt aus c't 7/2020.

Kommentare