Aus Linux-Magazin 09/2025

Wichtige Neuerungen in Linux 6.15

© Roman Zaiets / 123RF.com

Linux 6.15 bringt mit Nova den ersten in Rust geschriebenen Treiber in den Kernel und führt mit Fwctl ein lange umstrittenes neues Subsystem ein.

Ende Mai veröffentlichte Linus Torvalds Linux 6.15 [1] innerhalb des üblichen Zeitrahmens von sieben Release Candidates (RCs). War der Vorgänger 6.14 der mit 11 003 Änderungen zahlenmäßig schwächste Zyklus seit Linux 4.0, so verpasst 6.15 mit 14 612 Änderungen nur knapp den Spitzenplatz bei den Einreichungen seit Anfang 2024. Wie üblich stellen Treiber das Gros der Änderungen dar. Zum aktuellen Kernel trugen insgesamt 2068 Entwickler bei, für 262 davon war es der erste Beitrag.

Wie immer bringt der neue Betriebssystemkern viele Änderungen für Intel- und AMD-Prozessoren der x86_64-Architektur, die Verbesserungen bei der Leistung und der Sicherheit versprechen. Daneben gibt es Fortschritte bei der Rust-Unterstützung und bei Bcachefs. Mit Fwctl hält ein neues Subsystem Einzug. Die schon mit Linux 6.12 begonnenen Verbesserungen am Scheduling setzen sich in Version 6.15 fort.

CPUs und Architekturen

AMD beschleunigt Zen-3-Prozessoren und neuere Modelle mit dem »INVLPGB«-Befehl für die Broadcast TLB Invalidation (Translation Lookaside Buffer). Diesen CPU-Befehl führte AMD mit den Ende 2020 vorgestellten Zen-3-Prozessoren ein. Er ermöglicht der CPU, TLB-Einträge über mehrere logische Prozessoren hinweg mit einem einzigen Befehl ungültig zu machen [2]. Dadurch entfällt die Notwendigkeit zum Nachschlagen in der Page Table und von Interprozessor-Interrupts (IPIs). Das verspricht Leistungsverbesserungen, insbesondere in Szenarien mit häufigen TLB-Flushes und mehreren CPUs.

Der neue Kernel beendet die Unterstützung für i486-CPUs (Abbildung 1) und ähnliche Prozessoren wie einige frühe Pentium-Modelle. Das erleichtert den Kernel um rund 15 000 Codezeilen [3]. Solche Prozessoren kamen in den frühen 1990er-Jahren auf den Markt, zur Sippe gehörten auch Prozessoren wie der IDT WinChip und AMD Elan. Das letzte große Aufräumen bei CPUs betraf die Entfernung der Intel-80386-Familie alias i386 im Jahr 2012.

Abbildung 1: Die Familie der Intel-486er-CPUs fliegt aus dem Kernel. Quelle: Thomas Nguyen / Wikimedia Commons, CC BY-SA 4.0

Abbildung 1: Die Familie der Intel-486er-CPUs fliegt aus dem Kernel. Quelle: Thomas Nguyen / Wikimedia Commons, CC BY-SA 4.0

Intel steuert auf der anderen Seite aber wieder neuen Code zum Kernel bei. Dazu zählen die Grundlagen für die Advanced Performance Extensions (APX), für die es eine erste Patch-Serie gibt [4], sowie der Ausbau der Unterstützung für die Trust Domain Extensions (TDX [5]). APX umfasst eine Verdopplung der Anzahl der allgemeinen Rechenregister von 16 auf 32 und führt Drei-Operanden-Befehlsformate für Integer-Operationen ein. Sie ermöglichen es einer einzelnen Anweisung, mehr als zwei Eingabewerte zu verarbeiten, was die Anzahl der zu verarbeitenden Anweisungen reduziert und die Leistung verbessert. Bei TDX handelt es sich um eine hardwarebasierte Technologie, die darauf abzielt, die Sicherheit und Privatsphäre von virtuellen Maschinen (VMs) in Cloudumgebungen zu erhöhen. Das wird durch die Erstellung von isolierten Umgebungen erreicht, den Trust Domains [6].

Auch bei der ARM-Architektur tut sich einiges: Die Integration neuer SoCs, darunter des Mediatek MT8370 (Abbildung 2), des Allwinner V3s und des Rockchip, vergrößert die Bandbreite unterstützter Embedded-Systeme. Zudem verhindert ein Fix die Überhitzung von Snapdragon-X1-GPUs. Gleichzeitig steigert die Ausweitung der Energieverwaltungsfunktionen für ARM64-Prozessoren die Energieeffizienz trotz wachsender Rechenleistung. Die ARMv7-Architektur erhält jetzt Rust-Unterstützung, was die Grundlage für zukünftige Kernel-Entwicklung in Rust auf ARM schafft. Zudem bekommt die ARM-Morello-Referenzplattform einen Device Tree für das Booten im normalen AArch64-Modus [7].

Abbildung 2: Der Kernel kennt jetzt weitere ARM-SoCs wie den MT8370 von Mediatek. Quelle: Mediatek

Abbildung 2: Der Kernel kennt jetzt weitere ARM-SoCs wie den MT8370 von Mediatek. Quelle: Mediatek

Grafik

Für Desktop-Nutzer bringt Linux 6.15 einige willkommene Neuerungen mit. Der AMD-GPU-Treiber unterstützt nun erstmals vollständig das Power-Play-Feature für RDNA3-Karten, wodurch sich Taktfrequenzen und Spannungen unter Linux effizienter regeln lassen. Zudem ermöglichen Arbeiten für DisplayPort 2.1 künftig höhere Auflösungen und Bildwiederholraten. Die Optimierungen am P-State-Treiber zählen ebenso zu den Beigaben von AMD wie die Fähigkeit der RDNA-4-Generation in Form der RX 9070, die Lüftergeschwindigkeit auszulesen [8].

Mit Nova zieht eine frühe Version des von Red-Hat-Entwicklern geschriebenen neuen Treibers als Ablösung für den nicht mehr aktiv entwickelten Nouveau-Treiber für Nvidia-Karten in den Kernel ein [9]. Bemerkenswert: Es handelt sich um den ersten Direct-Rendering-Manager-Treiber im Mainline-Kernel, der komplett in Rust geschrieben ist. Während Nouveau ein umfangreiches Sortiment an Nvidia-Karten unterstützt, widmet sich Nova den Karten der RTX-20-Serie. Diese auch als “Turing” bekannten Boards verfügen über einen GPU System Processor (GSP) mit Firmware-Unterstützung, der das Schreiben von Treibern erleichtert, sodass die Entwickler nicht wie bei Nouveau auf Reverse Engineering angewiesen sind. Endanwender können Nova noch nicht nutzen: Die Entwickler wollen den Treiber Stück für Stück einführen, um den Überprüfungsaufwand bei der Einführung zu verringern.

Dateisysteme

Linux 6.15 bringt vor allem für ExFAT und Btrfs spürbare Verbesserungen bei Geschwindigkeit und Zuverlässigkeit. FUSE und Bcachefs zeigen sich zudem deutlich erweitert. Viele kleinere Optimierungen und neue APIs runden das Update für Dateisysteme ab. Eine neue Schnittstelle für den Empfang von Informationen über das Ein- und Aushängen von Dateisystemen mittels Fanotify ermöglicht es Anwendungen, diese Änderungen in Echtzeit zu überwachen und entsprechend zu reagieren.

Das Löschen großer Dateien auf ExFAT-Dateisystemen gelingt mit dem neuen Kernel bis zu 150-mal schneller, sofern die Partition mit der Option »discard« gemountet wurde. So dauert das Löschen einer 80 GByte großen Datei nur noch 1,6 Sekunden statt zuvor über 4 Minuten. Möglich machen das optimierte Algorithmen, die benachbarte Cluster jetzt bündelweise löschen, statt sie einzeln zu verwerfen.

Btrfs lässt sich nun mit negativen Z-Standard-Komprimierungsstufen (-15 bis -1) mounten, was eine feinere Abstimmung zwischen Speicherplatz und Geschwindigkeit ermöglicht [10]. Neu ist die Unterstützung für eine Blockgröße von 2 KByte für Debug-Builds. Bei Dateien, bei denen ein Inode eine Prüfsumme erfordert, fällt Btrfs bei Bedarf von Direct I/O auf gepufferte Schreibvorgänge zurück. Das reduziert insbesondere in virtuellen Maschinen das Auftreten von Prüfsummenfehlern [11].

Bcachefs bringt neue Funktionen zur Fehlererkennung und für Case Insensitivity. Zu diesem Thema schaltete sich zwischenzeitlich Linus Torvalds auf der Kernel-Mailing-Liste ein und forderte, bei Dateisystemen Groß- und Kleinschreibung dringend zu beachten – alles andere betrachte er als Fehler [12]. Bcachefs erhält zudem eine Scrub-Funktion [13], um Dateisystemfehler zu erkennen und zu reparieren, sowie Unterstützung für Blockgrößen, die die Page Size überschreiten.

Das FUSE-Dateisystem erlaubt künftig längere Dateinamen mit mehr als 1024 Zeichen und bietet eine bessere Fehlerbehandlung. FUSE darf dazu über die beiden neuen Systemaufrufe »default_request_timeout« und »max_request_timeout« Zeitüberschreitungen für nicht mehr reagierende User-Space-Server erzwingen [14].

XFS arbeitet ab Kernel 6.15 mit Zoned Storage Devices zusammen. Dabei handelt es sich um eine Klasse von Speichergeräten, die ihren Adressraum in mehrere Zonen unterteilen. Im Gegensatz zu herkömmlichen Speicherlösungen gelten für diese Zonen spezielle Schreibregeln [15].

Ext4, das vermutlich ausgereifteste Dateisystem unter Linux, erhält wie üblich nur kleinere Verbesserungen. So statteten die Entwickler den Ext4-Kernel-C-Treiber mit einigen zusätzlichen Sicherheitsvorkehrungen gegen böswillige Änderungen am Dateisystem aus [16].

Scheduler

Schon mit Kernel 6.12 erfolgte das Debüt des Extended Scheduler »sched_ext« im Mainline-Kernel. Obwohl die Namensgebung einen neuen Scheduler suggeriert, ist Sched_ext eher eine Funktion, die erweiterbare Scheduling-Richtlinien über BPF-Programme (Berkeley Packet Filter) ermöglicht. Seit seiner Einführung erfährt dieser Scheduler kontinuierliche Aktualisierungen, und auch Linux 6.15 bringt Patches zur Verbesserung der Flexibilität bei unterschiedlichen Hardwaredesigns mit [17]. Anstelle einer einzigen, globalen Maske, die alle ungenutzten CPUs im gesamten System repräsentiert, ermöglicht der neue Kernel individuelle Masken per NUMA-Knoten (Non-Uniform Memory Access). Das verhindert Leistungsengpässe, wenn mehrere CPUs auf großen Systemen gleichzeitig auf diese gemeinsame Maske zugreifen und sie ändern müssen.

Die überarbeitete Standardlogik zur Auswahl der Idle-CPU erleichtert es dem Scheduler, zu entscheiden, welche CPU einen neuen Task abarbeiten soll, was die Lastverteilung und Energieeffizienz verbessert. Neu ist zudem die Unterstützung für Latenz-Profiling im Werkzeug Perf. Mithilfe von Scheduler-Informationen lassen sich jetzt die Auswirkung von Kontextwechseln auf die Latenz einzelner Prozesse sichtbar machen. Das ermöglicht eine gezieltere Analyse von Performance-Problemen, da Prozesse auffallen, die besonders viel Wartezeit verursachen [18].

Energieverwaltung

Den P-State-Treiber für AMD-Prozessoren optimieren die Kernel-Hacker in Sachen Effizienz für eine feinere Steuerung der CPU-Frequenzen, was zu einer besseren Balance zwischen Leistung und Energieverbrauch führt. Der Fokus liegt auf einer dynamischeren Anpassung an die jeweilige Systemlast, um Strom zu sparen, ohne die Performance zu beeinträchtigen.

Die Lüfterunterstützung durch ACPI funktioniert ebenfalls besser. ACPI-Lüfter vermögen selbst dann ihre Drehzahlen zu melden, wenn die Firmware-Schnittstellen eingeschränkt sind. Das aktualisierte Tool Turbostat, das zur Überwachung und Analyse der Frequenz und Temperatur von CPUs dient, unterstützt nun bis zu 8192 Kerne und verfügt über neue Sensoren für Frequenzen und Temperaturen. Das ermöglicht eine präzisere Analyse und Optimierung der Energieverwaltung auf modernen Mehrkernsystemen [19].

Neues Subsystem

Kernel 6.15 führt das neue Subsystem Fwctl (Firmware Control) ein [20]. Es stellt eine standardisierte und sichere Schnittstelle bereit, um Firmware direkt aus dem Userspace zu verwalten. Damit wird es möglich, Remote Procedure Calls (RPCs) an eine Firmware zu senden und so die Konfiguration, das Update und das Debugging von Geräte-Firmware aus dem Userspace heraus zu standardisieren und abzusichern. Die Aufnahme des Subsystems war lange umstritten. Kritiker bemängelten, dass es nicht den üblichen Kernel-Entwicklungsprozessen folgte und bereits existierende APIs zum Einsatz hätten kommen können [21].

Fazit und Ausblick

Linux 6.15 bringt keine revolutionären Neuerungen, optimiert den Kernel aber an vielen Stellen in die Breite und Tiefe. Hervorzuheben sind die Einführung des Fwctl-Subsystems für Firmware-Management, der neue Nvidia-Grafiktreiber Nova als erster Rust-Treiber im Kernel und erhebliche Geschwindigkeitssteigerungen beim Löschen großer Dateien auf ExFAT.

Der kommende Kernel 6.16 steckt bereits mitten in der Entwicklung. Die Veröffentlichung der stabilen Version erfolgt abhängig von der Zahl der Release Candidates wahrscheinlich Anfang August. Linux 6.16 bringt unter anderem einen neuen Systemd-Dienst zur verbesserten Steuerung von Cpupower, was eine intelligentere Verwaltung des CPU-Energieverbrauchs ermöglichen soll.

Bcachefs soll mit »journal_rewind« eine neue Funktion erhalten, die es ermöglicht, das Dateisystem bei Problemen auf einen früheren Zeitpunkt zurückzusetzen. Linux Torvalds hat die Änderung allerdings noch nicht angenommen, da sie erst eintrudelte, nachdem das Merge-Fenster bereits lange geschlossen war [22]. Das führte, wie häufig in letzter Zeit, zu Spannungen zwischen Torvalds und Bcachefs-Erfinder Kent Overstreet. (uba)

Infos

  1. Release: https://lore.kernel.org/lkml/CAHk-=wiLRW8DN8-4jmeCZH0OpO8skXOC5e6FwMfsPwGMpQYmVQ@mail.gmail.com/T/#u
  2. TLB Invalidation: https://lore.kernel.org/lkml/20250205014033.3626204-1-riel@surriel.com/
  3. i486: https://lore.kernel.org/lkml/20250425084216.3913608-1-mingo@kernel.org/
  4. APX: https://lore.kernel.org/lkml/20250227184502.10288-1-chang.seok.bae@intel.com/T/
  5. TDX: https://lore.kernel.org/lkml/20250401224312.3264346-1-dave.hansen@linux.intel.com/
  6. TDX_2: https://openmetal.io/resources/hardware-details/intel-trust-domain-extensions-tdx/
  7. Morello: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34f3b3745ce5850c5ea3f8cb80449a65e60be54b
  8. DRM-Next: https://lore.kernel.org/dri-devel/20250314170618.3142042-1-alexander.deucher@amd.com/T/
  9. Nova: https://lists.freedesktop.org/archives/dri-devel/2025-March/495080.html
  10. Btrfs: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=da798fa519df6f995a493ca5105c72ccc4fc7b75
  11. Btrfs: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=968f19c5b1b7d5595423b0ac0020cc18dfed8cb5
  12. Torvalds: https://lore.kernel.org/lkml/CAHk-=wjajMJyoTv2KZdpVRoPn0LFZ94Loci37WLVXmMxDbLOjg@mail.gmail.com/
  13. Scrub: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f269ae55d2de9c6aff5b289cd94c8eaab7b9b2c3
  14. FUSE: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9b17cb59a7db
  15. XFS: https://zonedstorage.io/docs/introduction/zoned-storage
  16. Ext4: https://lore.kernel.org/lkml/20250327164029.GA1423119@mit.edu/
  17. Sched_ext: https://lore.kernel.org/lkml/Z999bMA5tftvV28a@slm.duckdns.org/
  18. Perf: https://lore.kernel.org/linux-perf-users/cover.1739437531.git.dvyukov@google.com/T/
  19. Turbostat: https://lore.kernel.org/linux-pm/20250406185820.765991-1-lenb@kernel.org/
  20. Fwctl: https://docs.kernel.org/userspace-api/fwctl/fwctl.html
  21. LWN: https://lwn.net/Articles/969383/
  22. Torvalds: https://lore.kernel.org/lkml/CAHk-=wi2ae794_MyuW1XJAR64RDkDLUsRHvSemuWAkO6T45=YA@mail.gmail.com/
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 3 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben