Linux 6.5 ist ein nach außen eher unscheinbarer Kernel, der aber im Hintergrund Weichen für die Zukunft stellt.
Linus Torvalds hat am 27. August 2023 die allgemeine Verfügbarkeit von Linux 6.5 bekanntgegeben. Er hatte zu Beginn des Zyklus Sorge, dass sich die Entwicklung wegen der Urlaubszeit in die Länge ziehen könnte, was sich aber als unbegründet herausstellte: Das neue Kernel-Release erblickte nach den üblichen sieben Veröffentlichungskandidaten das Licht der Welt [1].
Prozessoren
Durchaus der Urlaubszeit geschuldet ist die relative Abwesenheit herausragender Entwicklungen. Dafür wurden im Hintergrund wichtige Weichen gestellt. Die herausragendste einzelne Neuerung ist vermutlich das standardmäßige Einschalten des Active Mode des AMD P-State EPP (Energy Performance Preference) auf Prozessoren aus AMDs Zen-2-Plattform und neueren CPUs des Herstellers, die ACPI CPPC (Collaborative Processor Performance Control) unterstützen. Der Active Mode des P-State-Treibers dient nun anstelle von CPUFreq zur Leistungsskalierung. Das soll mehr Performance bringen und den Energieverbrauch senken.
Dem Energiemanagement widmen sich auch Patches, die Rafael J. Wysocki von Intel eingereicht hat. Sie fügen dem Power-Capping-Subsystem Intel TPMI (Topology Aware Register and PM Capsule Interface) hinzu, erweitern den »intel_idle«-Treiber sowie die systemweite Power-Management-Diagnose, beheben Fehler und bereinigen den Code [2].
Administratoren, die Server der Baureihen Intel Xeon oder AMD EPYC (Abbildung 1) mit vielen CPUs betreuen, freuen sich über die Unterstützung für paralleles Booten der CPUs. Im Zusammenspiel mit Kexec kann das die bei Servern wichtige Boot-Zeit verkürzen. Auch der PCIe-Bus wurde beschleunigt, der Kernel verbringt jetzt weniger Zeit mit dem Warten auf PCIe-Geräte.
Die Ryzen-7000-Baureihe erhält mit dem neuen Kernel Support für das EDAC-Subsystem (Error Detection and Correction, Fehlererkennung und -korrektur) auf Zen-4-Prozessoren aus dem Endkundenbereich. Bisher waren diese Korrekturen nur für EPYC-Server-CPUs verfügbar [3]. Auf Intels Hybrid-CPUs der “Alder-Lake”-Architektur mit Performance- und Effizienz-Kernen verbessern die Scheduler-Patches von Ingo Molnár das Load Balancing zwischen den Kernen. So lassen sich die Effizienzkerne ohne simultanes Multithreading (SMT) besser auslasten [4].
Grafik
Neue Patches für die DC-Codebase des AMDGPU-Kernel-Grafiktreibers aktivieren unter anderem FreeSync-Video als Standardeinstellung [5]. Intel bereitet unterdessen weiter die “Meteor-Lake”-Grafik unter Linux vor. Die Patches aktivieren unter anderem die Variable Refresh Rate (VRR) für mit eDP ausgestattete Geräte [6] sowie HuC-Unterstützung [7]. Der HuC-Mikrocontroller ermöglicht das Verlagern von Medienfunktionen von der CPU auf die GPU und dient der Hardwarebeschleunigung mit Videocodecs wie H.265/HEVC.
Wer sich für GPU-Overclocking interessiert, kann sich bei AMD über die Implementierung der alten Overdrive-Funktion für neuere Radeon-RX7000-Grafikkarten im Open-Source-Treiber freuen. Damit lassen sich die minimale und maximale Grafiktaktfrequenz, der Shader-Takt und die Settings für den Spannungs-Offset einstellen. Da AMD (noch) keine GUI für das Overclocking anbietet, gelingen entsprechende Modifikationen derzeit nur über das virtuelle Dateisystem Sysfs [8].
Dateisysteme
Den größten Sprung bei den Verbesserungen der Dateisysteme im Kernel machte Ext4. Ted Ts’o reichte Patches von Red Hats Brian Foster ein, die den Code bereinigen, diverse Bugs fixen und die Leistung beim Überschreiben im Zusammenhang von Direct I/O (Ext4 DIO) stark verbessern. Direct I/O ist eine Technik, mit der verschiedene Anwendungsprozesse gleichzeitig auf Daten auf der Festplatte zugreifen können, um die Bandbreite zu maximieren und die Abläufe zu beschleunigen [9]. Kleinere Optimierungen erhielten auch der Paragon-NTFS3-Treiber [10], das Flash-Dateisystem F2FS (Flash-friendly File System [11]) sowie Btrfs [12].
Hitzige Debatten gab es um die Aufnahme des Next-Gen-Dateisystems Bcachefs von Kent Overstreet, das seit geraumer Zeit die Aufnahme in den Mainline-Kernel anstrebt [13]. Mitte August äußerte sich dann auch Linus Torvalds selbst zum Thema. Er scheint einer Aufnahme nicht abgeneigt, Probleme sieht er lediglich mit dem Locking-Code. Aber auch die gegenseitigen persönlichen Angriffe während der Diskussion seien einer Lösung nicht zuträglich, ließ der Oberpinguin wissen [14]. Für Linux 6.6 wird Overstreet erneut Patches einreichen, die die bisherige Kritik der Kernel-Entwickler aufgreifen.
Hardwareunterstützung
Intels Mika Westerberg, der den Thunderbolt/USB4-Treiber für den Kernel betreut, bereitet mit der Unterstützung für USB 4 Version 2.0 in Linux 6.5 die nächste Generation von USB-C vor. Sie verspricht Datentransferleistungen von bis zu 80 Gbit/s im Duplexbetrieb. Bei Transfers nur in eine Richtung steigt die Bandbreite sogar auf bis zu 120 Gbit/s. Gleichzeitig erhält der dafür benötigte “Barlow-Ridge”-Controller erstmals Unterstützung. Das entsprechende Patchset enthält unter anderem einen neuen Qualcomm-PMIC-Type-C-Treiber [15].
Nvidia steuert einen Controller-Treiber für die Android-basierte Shield-Familie mit hauseigenen Tegra-Chips aus dem Jahr 2017 bei. Der Treiber ist für künftige Erweiterungen vorbereitet. Auch die neueren Microsoft-Xbox-Controller wertet der Kernel durch die Aktivierung der Unterstützung der Rumble-Vibrationsfunktion auf.
Networking
Eines der umfangreichsten Patchsets für Linux 6.5 ging in das Networking-Subsystem ein. Mit ihm schreiten die Vorbereitungen für die Unterstützung von Wi-Fi 7 weiter voran. In dieser Runde geht es um den Multi-Link-Operation-Modus (MLO) von Wi-Fi 7. MLO ermöglicht es Geräten, gleichzeitig Daten über mehrere Frequenzbänder und Kanäle zu senden und zu empfangen, sofern die Hardware das zulässt. Patches verbessern die Treiber für die Chips Qualcomm 802.11ax sowie Realtek RTW89 und RTL8XXXU. Neu unterstützt werden die Switches Synopsys EMAC4, Marvell 88E6361 und 88E6250, Microchip LAN8650/1 Rev.B0 sowie Mediatek MT7981/MT7988 [16].
Das Hardware-Monitoring-Subsystem Hwmon unterstützt mit den Patches für Linux 6.5 Sensoren auf weiteren Desktop-Mainboards. Mit der Aufwertung des ASUS-EC-Sensors-Treiber zählt AMDs beliebtes Ryzen-7000-Mainboard Asus ROG Crosshair X670E Hero zu den Nutznießern. MSI-Mainboards wie das Z690-A-Pro-DDR5 profitieren ebenfalls von den Verbesserungen.
Der I/O-Controller Nuvoton NCT6799D erhält ebenfalls Sensorunterstützung. Er ist unter anderem auf Mainboards wie dem Asrock X670E PG Lightning, dem Asus ROG Strix X670E-F Gaming WiFi und dem Asus TUF Gaming X670E-Plus WiFi zu finden. Die HWMON-Patches sorgen zudem für eine korrekte Anzeige von Corsair-Netzteilen der Baujahre 2022 und 2023 mit dem Corsair-SPU-Treiber und anderen Verbesserungen für die Hardwareüberwachung [17].
Im Sound-Subsystem des Kernels gab es initiale Unterstützung für Midi 2.0. Dabei handelt es sich um eine Erweiterung von Midi 1.0, die den Vorgänger nicht ersetzen soll, sondern lediglich dessen Architektur und Semantik übernimmt. Während die Rückwärtskompatibilität gewahrt bleibt, erlaubt die Midi-CI-Spezifikation Geräten mit bidirektionaler Kommunikation die Nutzung erweiterter Fähigkeiten, die über die bereits in Midi 1.0 definierten hinausgehen [18].
Des Weiteren bekommt künftig Soundwire der MIPI Alliance einen AMD-Treiber. Soundwire dient dem Transport von Daten, die typischerweise mit Audiofunktionen zusammenhängen. Dazu ist die Soundwire-Schnittstelle für die Integration von Audiogeräten in mobile Systeme optimiert und erleichtert die Entwicklung kostengünstiger, effizienter und leistungsstarker Systeme [19].
Und sonst noch?
Linux 6.5 bringt das erste Update für den Unterbau von Rust im Mainline-Kernel mit sich. Zukünftig gilt das am 28. März dieses Jahres erschienene Release 1.68.2 als unterstützte Rust-Toolchain. Damit ist die Rust-Unterstützung zwar nicht ganz aktuell, aber näher am letzten Upstream-Release 1.72.0. Das erklärte Ziel besteht darin, die Toolchain nun häufiger zu aktualisieren. Alle Verbesserungen für Rust in Linux 6.5 hat Miguel Ojeda, Kernel-Entwickler für Rust, in einem Pull Request zusammengefasst [20].
Die RISC-V-Architektur erhielt die besonders für Notebooks wichtige ACPI-Unterstützung. Mit dem Alibaba-SoC T-Head TH1520, der auf der hauseigenen Entwicklungsplattform Wujian 600 entstand, kommt ein weiteres RISC-V-SoC hinzu. Dabei handelt sich um eine Quad-Core-CPU des Typs Xuantie C910, die mit bis zu 2,5 GHz takten kann.
Die LoongArch-Architektur genießt jetzt Unterstützung für simultanes Multithreading (SMT) und den Clang-Compiler. Zu den neu unterstützten ARM-SoCs zählen neben dem Samsung Exynos 4212 und dem Amlogic C3 die Snapdragon-Platinen 615, 8cx und SDX75 von Qualcomm. Hinzu kommen einige neuere Rockchip-Boards wie unter anderem das Indiedroid Nova, das Edgeble Neural Compute Module 6B, der FriendlyARM NanoPi R2C Plus sowie das Lunzn Fastrhino. Gleichzeitig wurden auch die entsprechenden Referenz-Boards aktiviert. Neu zur Riege stoßen auch Nvidias Edge-KI-Plattformen IGX Orin und Jetson Orin Nano [21].
Den neuen Kernel finden Sie wie immer auf Kernel.org zum Download [22]. (uba/jlu)
Infos
- Linux 6.5: https://lkml.iu.edu/hypermail/linux/kernel/2308.3/03287.html
- Energie-Management-Patches: https://lore.kernel.org/lkml/CAJZ5v0iQk8ytZ0953_HCWU6Vr62J9UeC8Z9pirOHAfjpbvcOfg@mail.gmail.com/
- EDAC: https://lore.kernel.org/lkml/20230626114842.GAZJl7GsleaEc2+cU1@fat_crate.local/
- Scheduler: https://lore.kernel.org/lkml/ZJq3HtUKZp2uMWLu@gmail.com/
- AMD DC-Patches: https://lists.freedesktop.org/archives/amd-gfx/2023-May/093870.html
- Meteor VRR: https://lore.kernel.org/dri-devel/87zg5eat32.fsf@intel.com/
- Meteor HuC: https://lore.kernel.org/dri-devel/ZIH09fqe5v5yArsu@tursulin-desk/
- Overdrive: https://lists.freedesktop.org/archives/amd-gfx/2023-June/093943.html
- Ext4 DIO: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git/commit/?h=dev&id=310ee0902b8d9d0a13a5a13e94688a5863fa29c2
- NTFS 3: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=36b93aed9ec07607e26630ecf210e065662f6b0d
- F2FS: https://lore.kernel.org/lkml/ZKWuP6+mGdW%2FW0%2FP@google.com/T/#u
- Btrfs: https://lore.kernel.org/lkml/cover.1687802358.git.dsterba@suse.com/
- Bcachefs-Diskussion: https://linuxnews.de/bcachefs-nicht-in-linux-6-5/
- Torvalds zu Bcachefs: https://lore.kernel.org/lkml/CAHk-=whaFz0uyBB79qcEh-7q=wUOAbGHaMPofJfxGqguiKzFyQ@mail.gmail.com/
- USB 4: https://lore.kernel.org/lkml/ZKKejqr0Db74u8TB@kroah.com/
- Networking: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3a8a670eeeaa40d87bd38a587438952741980c18
- HWMON: https://lore.kernel.org/lkml/20230627034511.166918-1-linux@roeck-us.net/
- Midi 2.0: https://midi.org/specifications/midi-2-0-specifications
- Sound: https://lore.kernel.org/lkml/87tturevnv.wl-tiwai@suse.de/
- Rust: https://lore.kernel.org/lkml/20230618161558.1051269-1-ojeda@kernel.org/T/#u
- ARM: https://lore.kernel.org/lkml/80fba92e-3836-4d27-8be6-1e5f7b5b2f53@app.fastmail.com/
- Kernel.org: https://www.kernel.org







