Linux 7.2 macht CPUs smarter und Kernel-Code sicherer

Linux 7.2 bekommt zwei Kernel-Änderungen mit hoher praktischer Relevanz: Cache-Aware Scheduling für moderne Intel- und AMD-CPUs und die Rust Zerocopy-Bibliothek für sicherere Low-Level-Konvertierungen im Kernel. Phoronix berichtet, dass die Scheduler-Änderungen bereits für Linux 7.2 gemerged wurden. Die Rust-Änderungen liegen ebenfalls für den aktuellen Merge-Zyklus vor. Damit verbindet der nächste Kernel mehr Linux Performance mit weiterer Code-Härtung.

Der Zeitpunkt ist wichtig. Linux 7.1 ist erst seit wenigen Tagen offiziell verfügbar, doch die Entwicklung von Linux 7.2 läuft bereits. Ghacks hatte den neuen Kernel zuletzt im Artikel Linux 7.1 veröffentlicht eingeordnet. Linux 7.2 wird nun vor allem für Nutzer interessant, die Server, Workstations, Entwickler-Systeme oder moderne Ryzen-, EPYC- und Xeon-Plattformen betreiben.

Beide Änderungen zeigen denselben Trend: Der Linux-Kernel muss auf komplexere Hardware und strengere Sicherheitsanforderungen reagieren. Moderne CPUs bestehen aus Chiplets, Tiles, mehreren Cache-Bereichen und teils sehr vielen Kernen. Gleichzeitig wächst der Rust-Anteil im Kernel langsam weiter, weil Entwickler bestimmte Speicherfehler und riskante Typumwandlungen besser kontrollieren wollen.

Linux 7.2 verteilt Aufgaben besser über moderne CPU-Caches

Cache-Aware Scheduling greift an einer Stelle an, die für moderne Prozessoren immer wichtiger wird. Viele aktuelle Intel- und AMD-CPUs besitzen mehrere Last-Level-Cache-Domains. Auf AMD-Servern betrifft das etwa EPYC-Systeme mit mehreren CCDs. Auf neuen Intel-Xeon-Plattformen spielen mehrere Tiles und Cache-Bereiche eine ähnliche Rolle. Nicht jeder Kern sitzt also gleich nah an denselben Daten.

Der Linux-Scheduler verteilt Aufgaben bisher nach Last, CPU-Zustand, NUMA-Informationen und weiteren Kriterien. Cache-Aware Scheduling ergänzt diese Sicht um den gemeinsamen Cache. Der Kernel versucht dabei, Threads mit gemeinsam genutzten Daten näher beieinander zu halten. Das Ziel ist weniger Cache Bouncing, weniger unnötiger Datentransfer zwischen Cache-Domains und mehr lokale Datenzugriffe.

Das klingt technisch, kann aber konkrete Folgen haben. Datenbanken, Netzwerkdienste, In-Memory-Systeme, Build-Server, Virtualisierung und HPC-Workloads profitieren besonders dann, wenn mehrere Threads intensiv auf dieselben Datenstrukturen zugreifen. Auf Desktop-Systemen sind die Effekte meist schwerer vorherzusagen. Workstations mit vielen Kernen, Entwicklerrechner mit großen Builds und leistungsstarke Ryzen-Systeme können trotzdem gewinnen.

Die neue Funktion kommt über CONFIG_SCHED_CACHE. Das ist keine App-Funktion und kein Schalter in einer Desktop-Oberfläche. Distributionen müssen den Kernel passend bauen. Administratoren und Kernel-Tester können die Funktion je nach Build und Debug-Schnittstellen vergleichen. Das ist wichtig, weil Scheduler-Änderungen nie pauschal nur Vorteile bringen. Ein Workload kann profitieren, ein anderer kann neutral bleiben oder in Einzelfällen schlechter laufen.

Für normale Nutzer bedeutet das: Linux 7.2 wird nicht automatisch jedes System schneller machen. Der größere Nutzen liegt bei modernen Mehrkern-CPUs mit mehreren Cache-Bereichen. Dort kann bessere Aufgabenplatzierung mehr bringen als reine Taktfrequenz oder neue Compiler-Flags. Die eigentlichen Distributionsgewinne hängen aber davon ab, wann Fedora, Arch, Ubuntu, openSUSE und Server-Distributionen Linux 7.2 übernehmen und mit welchen Optionen sie den Kernel ausliefern.

Rust Zerocopy reduziert unsicheren Code im Kernel

Die zweite große Änderung betrifft Rust im Linux-Kernel. Linux 7.2 führt die Zerocopy-Bibliothek in den Rust-Codepfad ein. Zerocopy hilft bei der sicheren Umwandlung zwischen Bytefolgen und strukturierten Datentypen. Genau solche Operationen sind im Kernel-Alltag häufig, aber riskant. In C und auch in Rust mit `unsafe` können falsche Annahmen über Layout, Größe oder Ausrichtung schwerwiegende Fehler auslösen.

Zerocopy soll diese Fälle besser kapseln. Die Bibliothek stellt Traits und Makros bereit, mit denen Entwickler bestimmte Konvertierungen ohne eigene unsichere Implementierung ausdrücken können. Phoronix nennt rund 39.000 neue Zeilen für den Import, davon etwa 32.000 ohne Benchmark-Dokumentation. Das klingt groß, ist aber vor allem ein Import einer etablierten Rust-Bibliothek in den Kernel-Baum.

Der praktische Sicherheitsgewinn entsteht nicht dadurch, dass Rust plötzlich den ganzen Kernel schützt. Der Linux-Kernel bleibt überwiegend C-Code. Rust wächst gezielt in neuen Treibern und Subsystemen. Zerocopy macht diesen Rust-Bereich aber robuster, weil weniger handgeschriebene `unsafe`-Blöcke nötig werden. Das passt zur Strategie, riskante Speicheroperationen schrittweise in stärker geprüfte Bausteine zu verschieben.

Linux 7.2 bringt im Rust-Bereich außerdem weitere Änderungen. Phoronix nennt AutoFDO für Rust-Kernel-Code, Unterstützung für softwarebasierten Tag-KASAN und Vorbereitungen für Rust 1.98. AutoFDO kann Rust-Code mit Profilinformationen optimieren. KASAN hilft bei der Suche nach Speicherfehlern. Zusammen zeigt das: Rust im Kernel ist nicht mehr nur ein Experiment für einzelne Treiber, sondern erhält Infrastruktur für Performance, Analyse und Wartung.

Für Entwickler ist Zerocopy auch ein Signal an die Rust-Ökosysteme. Der Kernel übernimmt nicht beliebige Abhängigkeiten aus dem Netz. Code landet im Kernel-Baum, Anpassungen laufen über Mailinglisten, und Änderungen müssen denselben Review-Prozess durchlaufen wie andere Kernel-Arbeit. Das reduziert klassische Supply-Chain-Risiken gegenüber einer normalen Anwendung, die Pakete direkt aus einem Registry-System bezieht.

Linux 7.2 wird dadurch kein reines Performance-Release und kein reines Security-Release. Der Kernel modernisiert zwei Grundlagen gleichzeitig: die Platzierung von Aufgaben auf komplexen CPUs und die sichere Verarbeitung von Speicherstrukturen im Rust-Code. Der nächste wichtige Schritt ist die weitere Stabilisierung über Release Candidates. Danach entscheidet die Distribution, wann diese Verbesserungen bei Nutzern, Admins und Entwicklern ankommen.