Original-URL des Artikels: https://www.golem.de/news/betriebssysteme-linux-4-19rc1-optimiert-datei-netzwerk-und-cpu-zugriffe-1808-136277.html    Veröffentlicht: 30.08.2018 11:42    Kurz-URL: https://glm.io/136277

Betriebssysteme

Linux 4.19rc1 optimiert Datei-, Netzwerk- und CPU-Zugriffe

Die Sicherheitslücken in aktuellen Prozessoren lassen die Kernel-Entwickler auch in der kommenden Version 4.19 des Linux-Kernels nicht los. Darüber hinaus gibt es etliche Neuerungen, die Datei- und Netzwerkzugriffe verbessern.

Mit der Freigabe des ersten Release Candidates des Linux-Kernels 4.19 läutet Linux-Erfinder Linus Torvalds die etwa sechs Wochen andauernde Testphase ein. Auch in dieser Linux-Version gibt es Patches zu den bekanntgewordenen Sicherheitslücken aktueller Prozessoren. Torvalds spricht deshalb von einem "frustrierenden Release". Darüber hinaus wurden etliche Anpassungen eingepflegt, die Netzwerk- und Datenträgerzugriffe sowie CPU-Auslastung verbessern.

Und wieder mussten sich sehr zu Linus Torvalds Ärgernis die Kernel-Entwickler mit Fixes für Sicherheitslücken in CPUs herumschlagen. Diesmal wurden in aller Eile Patches für die jüngst entdeckte Foreshadow-Lücke (L1TF) eingereicht. Über die Lücke können Prozesse über den Level-1-Cache von Intel-CPUs unberechtigt Speicher auslesen. Besonders in virtualisierten Umgebungen kann die Lücke ausgenutzt werden, etwa indem aus einem Gastsystem auf den Host zugegriffen werden kann. Gegen die Sicherheitslücke Meltdown wurden bereits die Kernel-Page-Table-Isolation-Patches für 64-Bit-Systeme implementiert. Seit Linux 4.19 sind auch 32-Bit-Systeme damit abgesichert.

Besser getaktet, mehr Energie gespart

Um die geeigneten Takteinstellungen für die CPU zu finden, verwendet der Linux-Kernel einen Scheduler. Dessen Algorithmus wurde nun erweitert, so dass er die benötigte Zeit der Echtzeitprozesse, Deadline-Prozesse und Interrupts registriert und dementsprechend die Taktung der CPU anpasst. Zudem wurde die Programmierschnittstelle zur Abfrage von asynchronen Ein- und Ausgaben (Asynchronous I/O Polling Interface) wieder in den Kernel aufgenommen. Nachdem sie in Linux 4.18 zunächst Einzug hielt, wurde der Code wieder entfernt, weil Torvalds ihn nochmals begutachtete und damit nicht zufrieden war. Aufräumarbeiten fiel der Tracing-Mechanismus Jprobes zum Opfer, der längst durch Ftrace abgelöst worden ist.

Der freie Treiber für Grafikkarten von AMD hat vergleichsweise wenige Neuerungen in Linux 4.19 erlebt. Für die integrierte Grafikeinheit in den Raven Ridge genannten Accelerated Processing Units (APU) gibt es einige neue Einstellungen, die Energie sparen sollen. Künftig ist es beispielsweise möglich, die Grafikeinheiten komplett zu deaktivieren, wenn sie nicht verwendet werden, etwa wenn eine externe Grafikkarte in einem System zum Einsatz kommt. Der Code für die Powerplay-Funktionen wurde ebenfalls nochmals überarbeitet und verbessert. Zudem greift der Treiber jetzt direkt auf die PCI-Express-Schnittstelle des Kernels zu und nutzt dafür nicht mehr den eigenen.

Neuer virtueller Grafiktreiber, Unterstützung für CEC-Fernbedienungen

Mit dem Einzug des virtuellen Grafiktreibers für die Kernel Virtual Machine (KVM) kann über die Grafikserver X.org oder Wayland auf virtuelle Gastsysteme zugegriffen werden - auch ohne die Unterstützung von Grafikkarten. VKMS entstand im Rahmen von Googles Summer of Code und bietet bereits Verbindungen zu einem Display-Controller und einem Encoder. Der Code für VKMS wurde zunächst in Linux-Next aufgenommen und soll dort noch nach möglichen Verbesserungen untersucht werden, bevor er endgültig im Hauptzweig des Linux-Codes akzeptiert wird.

Optimierte Verwaltung von Netzwerkpaketen

Bei dem freien Treiber Nouveau für Grafikkarten von Nvidia blieb es in dieser Runde außer einiger weniger Bugfixes ruhig. Für den Treiber für Grafikchips von Intel gibt es ebenfalls Aktualisierungen, die unter anderem das Panel Self Refresh verbessern, bei dem der Treiber unabhängig von der CPU das Display bei unverändertem Bildinhalt aktualisiert und dadurch den Energieverbrauch bei Notebooks senkt. Damit Befehle von HDMI-CEC-fähigen Fernbedienungen auch über Displayport- und USB-C- auf HDMI-Adapter weitergeleitet werden können, gibt es jetzt einen Patch für Linux 4.19.

Mit neuen Patches für den Netzwerk-Stack haben die Linux-Entwickler die Funktion Timed-Based Packet Transmission eingeführt. Damit lassen sich Zeiträume festlegen, in denen Netzwerkpakete versendet werden sollen. Das soll insbesondere in Echtzeitsystemen, etwa im Bereich der Automobilproduktion, für eine zuverlässigere Datenübertragung sorgen und besonders verhindern, dass Pakete zu spät an ihrem Zielpunkt ankommen, wie ein Artikel bei LWN.net erläutert. Die Funktion folgt dem Netzwerkstandard P802.1Qbv.

Die Entwickler des Netzwerk-Stacks haben mit dem Cake (Common Applications Kept Enhanced) genannten Patchset Verzögerungsprobleme auf Routern in Heimnetzwerken angenommen. Cake sitzt direkt an der Schnittstelle zur Netzwerkhardware und entscheidet, welche Pakete an die Protokollschnittstelle weitergegeben werden sollen, wie ein Artikel bei LWN.net erklärt. Die von Cake verwaltete Warteschleife soll so exzessives Puffern und somit auch Latenzprobleme vermeiden. Cake ist vor allem für den Einsatz auf Routern gedacht, etwa in dem Linux-basierten freien Firmwareersatz OpenWRT.

Beschleunigte Zugriffe auf Datenträger

Bislang weitgehend undokumentiert ist die Skbprio genannte Warteschleife, die TC-Pakete anhand des Inhalts des Socket-Buffer-Felds (SKB) sortiert. Kommt es zu einer Überlastung, tritt Skbprio in Aktion, verwirft Pakete mit niedriger SKB-Priorität und leitet solche mit hoher Priorität weiter. Das soll vor allem bei DoS-Angriffen für Entlastung sorgen.

Blk-Iolatency heißt der neue I/O-Controller, der künftig dafür sorgen soll, dass Datenträgerzugriffe der Anwendungen, die in Cgroups festgelegt werden, zwischen wichtigen und unwichtigen unterscheiden können. Damit soll vermieden werden, dass es unter Last nicht zu Engpässen bei wichtigen Anwendungen kommt, wenn etwa parallel weniger wichtige Datenträger beansprucht werden.

Im Bereich Datenträger gibt es bereits seit längerem mit dem Multi-Queue Block IO Queueing Mechanism (Blk-Mq) die Möglichkeit, über das SCSI-Subsystem und dessen AHCI-Treiber über mehrere Warteschleifen auf Festplatten und SSDs zuzugreifen. Die Funktion wird standardmäßig aktiviert. Unter Btrfs können auch Dateien defragmentiert werden, während auf sie nur lesend zugegriffen werden kann. Mit neuen Funktionen können XFS-Dateisysteme während des Betriebs geprüft und repariert werden.

Diese und weitere Änderungen können in der Vorabversion von Linux 4.19 getestet werden, dessen Quellcode unter kernel.org erhältlich ist.  (jt)


Verwandte Artikel:
Betriebssysteme: Linux 4.18 bringt die Grundlage für eine neue Firewall   
(13.08.2018, https://glm.io/135966 )
Linux-Kernel: Google zieht Unterstützung für NSA-Chiffre zurück   
(08.08.2018, https://glm.io/135899 )
SoC: Huawei baut Warpdrive als Beschleuniger für Linux   
(02.08.2018, https://glm.io/135810 )
Router-Distribution: OpenWRT 18.06 erscheint nach Trennung und Wiedervereinigung   
(01.08.2018, https://glm.io/135786 )
Security: Wireguard-VPN zur Aufnahme in Linux-Kernel vorgeschlagen   
(01.08.2018, https://glm.io/135783 )

© 1997–2019 Golem.de, https://www.golem.de/