// LINUX-MAGAZIN — LINUX & OPEN SOURCE
Linux Kernel 7.2 verteilt Prozesse effizienter
Die neue Version des Linux-Kernels ermöglicht mehr Effizienz und nimmt einige bereits angekündigte Änderungen auf. Der 486-Support ist weg.
Linus Torvalds hat Version 7.2 des Linux-Kernels passend zum geplanten Veröffentlichungstermin freigegeben. Dabei sei, so Torvalds in seiner Release-Mail, die Woche zuvor arbeitsintensiver gewesen, als er es sich gewünscht habe. Einige Änderungen hätten in letzter Sekunde zurückgenommen werden müssen, etwa am Scheduler des Rendering-Systems DRM (Direct Rendering Manager).
Die größten in der Übersicht von Kernel Newbies hervorgehobenen Änderungen zielen alle auf Effizienzsteigerungen. Der DRM-Scheduler bekommt trotz Reverts einen neuen Algorithmus, der sich am Completely Fair Scheduler (CFS) des Linux-Kernels orientiert. Der neue Ansatz soll bei der Zuteilung der Rechenzeit von Grafikkarten bessere Ergebnisse liefern als der bislang genutzte Fifo-Ansatz (First in, first out). Der CPU-Scheduler hingegen bezieht in seine Entscheidungen auch die Cache-Struktur ein.
Das sogenannte Cache-Aware Scheduling soll parallel ausgeführte Anwendungskomponenten (Threads), die Daten teilen, so verteilen, dass sie den gleichen Last Level Cache (LLC) nutzen. Vorerst wird nur für Threads eines Prozesses angenommen, dass dies der Fall ist, komplexere Algorithmen sind in Arbeit.
Der Ansatz soll bei Prozessoren wie AMDs Epycs, bei denen jedes Chiplet einen Teil des LLC (in diesem Fall der L3-Cache) implementiert, oder Servern mit mehreren Sockeln bessere Cache-Lokalität und damit höhere Leistung ermöglichen.
Verbesserungen am Algorithmus zur Bestimmung auf den Swap-Speicher auszulagernder Speicherseiten sollen ebenfalls Leistungssteigerungen bringen – bis zu 30 Prozent etwa bei MongoDB. Auch einige Elemente des proc-Dateisystems sind nun schneller lesbar.
Bei den Dateisystemtreibern sind NTFS und Btrfs hervorzuheben. Ersterer unterstützt native Windows-Symlinks (symbolische Verknüpfungen), Letzterer arbeitet bei sequenziellem Schreiben und direct I/O effizienter. Zudem nutzt der Btrfs-Treiber standardmäßig sogenannte Large Folios. Dabei werden mehrere hintereinanderliegende Speicherseiten logisch zusammengefasst, was Zugriffe und Verwaltung effizienter machen kann. Die aktuelle, im Kernel 6.17 experimentell eingeführte Implementierung nutzt Folios mit maximal 64 4-kByte-Seiten. Als neues experimentelles Feature wurden Huge Folios mit 512 Seiten, also bis zu 2 MByte, eingebaut.
Bereits bekannt war, dass AMD an HDMI-2.1-Unterstützung für Linux arbeitet. Der entsprechende Code wurde im Kernel 7.2 eingepflegt, ebenso wie Änderungen, die Kompatibilitätsmechanismen für ältere x86-Prozessoren entfernen. Damit fällt nach Jahren der Diskussion die Unterstützung für 486-Prozessoren sowie einige 586er ohne TSC (Timestamp Counter) und CMPXCHG8B-Operation weg.
Daneben gibt es einige eher randständige, aber dennoch erwähnenswerte Neuerungen: Der Kernel 7.2 unterstützt neben Thunderbolt Networking bei USB4-Verbindungen nun auch Streaming. Das ermöglicht, Daten an einem Ende der Verbindung wie in eine Datei zu schreiben und am anderen wie aus einer Datei zu lesen. Der Vorteil gegenüber Thunderbolt Networking ist, dass kein Netzwerk-Stack benötigt wird.
Ebenfalls neu ist die Unterstützung von Speichermedien mit integrierter Verschlüsselung durch das Modul dm-inlinecrypt. Mit Veröffentlichung des Kernel 7.2 öffnet sich das Merge-Fenster für Version 7.3, die in zwei Monaten erscheinen soll. Es gebe dafür bereits 40 Pull Requests, so Torvalds in seiner Mail zur Freigabe des Kernels 7.2.