Mit weiteren Treibern für Qualcomms ARM-SoC Snapdragon X Elite schiebt Linux 6.10 die Realisierung eines leistungsfähigen ARM-Notebooks weiter an.
Mitte Juli hat Linus Torvalds nach einem normalen Turnus mit sieben Release-Kandidaten Linux 6.10 freigegeben. Die auf den RC7 folgende Woche war zwar nicht so ruhig, wie Torvalds sich das wünschte, trotzdem sah er keinen Grund für einen weiteren Release-Kandidaten.
Neben der üblichen Sammlung von Korrekturen und Aktualisierungen ist eine der herausragenden Neuerungen dieses Kernels der bereits für Linux 6.9 vorgesehene Panthor-DRM-Treiber für neuere ARM-Mali-GPUs [1]. Der bei Collabora entwickelte Treiber wartet schon seit März im Zweig drm-misc. Von ihm profitieren Grafikprozessoren wie Mali G310, G610 und G710, die als Gemeinsamkeit auf das Firmware-basierte Command Stream Frontend (CSF) setzen. CSF passt die Mali-GPUs an die Anforderungen moderner APIs wie Vulkan und künftige Trends bei mobilen Spieleinhalten an. Einer der größten Vorteile von CSF besteht darin, dass es den Arbeitsaufwand für die CPU erheblich reduzieren kann.
Weitere Verbesserungen im Bereich Grafik erzielte AMD mit der auf kleinere Ryzen-CPUs ausgelegten Unterstützung für ROCm Compute [2] durch den AMDKFD-Treiber [3]. Dabei handelt es sich um einen hauptsächlich aus freier Software bestehenden Stack, der für die Berechnungen von Grafikprozessoren zuständig ist. Dank einiger Patches ermöglicht AMD die Verwendung neuerer AMD-GPUs unter RISC-V [4].
Intels Xe2-Grafikarchitektur profitiert von zusätzlichen Patches. So gibt es für die kommenden Intel-GPUs “Battlemage” G10 und G21 als Teil von Intels “Lunar-Lake”-Audio-Unterstützung über die HDMI-Schnittstelle, was aber noch als experimentell gekennzeichnet ist. Weitere Patches im Set sorgen für bessere Adaptive-Sync-SDP-Unterstützung. SDP steht darin für Secondary Data Packet und ermöglicht beim Verwenden von DisplayPort-Konvertern die Weiterleitung von Adaptive-Sync-Videos mit minimalem Puffer-Overhead innerhalb eines Konverters [5].
Der ARM-Spezialist Linaro arbeitet am Ausbau der Linux-Unterstützung für Qualcomms ARM-SoC Snapdragon X Elite. Für Linux 6.10 lag der Schwerpunkt auf Entwicklungen für DisplayPort und Embedded DisplayPort [6]. Die Fortschritte dürften den Linux-Spezialisten Tuxedo Computers aus Augsburg freuen, der an einem ARM-Notebook auf der Basis des Snapdragon X Elite arbeitet (Abbildung 1).
Hardware
Intel baute unterdessen den P-State-Treiber weiter aus, um die konsistente Aktualisierung der maximalen CPU-Frequenz auch bei deaktiviertem Turbo-Boost sicherzustellen. Der AMD-P-State-CPU-Treiber für die Frequenzskalierung zeigt sich gleichfalls verbessert. Er bringt erweiterte ACPI-CPPC-v2-Unterstützung für verschiedene Zen-2-Prozessoren wie die Threadripper-Serie mit. Das sorgt für eine erhöhte Leistung und verbesserte Thermik. Das entsprechende Patchset enthält daneben weiteres Tuning für die CPUs von Intel und AMD [7].
Der RISC-V-Merge zu Linux 6.10 erweitert das Spektrum der Programmiersprache Rust innerhalb des Linux-Kernels. RISC-V ist somit in der Gesellschaft von x86_64, LoongArch und ARM64, die bereits Rust im Kernel verwenden [8]. Der neue Kernel tastet sich zudem initial an den SBC Milk-V Mars heran, ein Derivat des StarFive VisionFive v2, der entsprechend das StarFive-JH7100-SoC verwendet [9]. Dieses und weitere SoC-Updates fasst ein Patchset zusammen [10].
Aus dem Kernel entfernt wurde der Code für PowerPC-40x-Prozessoren, die in den 90er-Jahren in Thin Clients, Set-Top-Boxen und anderen Geräten verbaut waren, heute aber keine Rolle mehr spielen. Damit entfallen 4400 Zeilen schon länger nicht mehr betreuter Code [11].
Die modularen Notebooks Framework 13 und 16 dürfen nun den erweiterten Chrome-OS-Treiber cros_ec_lpc nutzen, um die LPC-Schnittstelle des verbauten NPCX-Embedded-Controllers zu steuern [17]. Audio-Patches verbessern den Sound auf aktuellen Notebooks der Typen ASUS ROG und Lenovo ThinkBook 13X [18].
Dateisysteme
Für das mit Kernel 6.7 zu Jahresbeginn eingeführte Dateisystem Bcachefs gehen die Arbeiten an den Online-Fsck-Fähigkeiten weiter. Verbesserungen dieses Copy-on-Write-Dateisystems betreffen unter anderem die Art und Weise, wie Bcachefs das Schreiben in das Journal im Wiederherstellungsmodus fortsetzt. War der Allokator für 10 Sekunden oder länger im Schreibpfad blockiert, erkennt das System das jetzt [12].
Bereits seit einigen Jahren arbeiten die Entwickler von XFS an der Onlinereparaturfunktion. Am seit vergangenem Jahr implementierten Code finden laufend Optimierungen statt. Für XFS in Linux 6.10 unterstützt der Code der Onlinereparatur jetzt den atomaren Austausch von Dateiinhalten, um Byte-Bereiche zwischen zwei Dateien auszutauschen. Zudem klappt die Erstellung temporärer Dateien zur Reparatur dateibasierter Metadaten ebenso wie das Verschieben verwaister Dateien in das Verzeichnis »lost and found/« [13].
Btrfs erhielt mit dem neuen Kernel seine Norecovery-Option zurück, die mit Linux 5.11 als veraltet galt und seit Linux 6.8 fehlte. Da die Entfernung Probleme beim Einhängen des Dateisystems unter anderem in Systemd und YaST bewirkte, erfuhr sie ein Revival. Die Option »norecovery« unterbindet zum Zeitpunkt des Einhängens eine Datenwiederherstellung, indem sie die Protokollwiedergabe und andere Schreibvorgänge deaktiviert. Die entstandenen Probleme betrafen das Einhängen ohne aktivierte Schreibberechtigung [14]. NTFS3, der von Paragon betreute Treiber für das Windows-Dateisystem, erhielt einige Fehlerkorrekturen [15].
Nicht zuletzt neigt sich die Zeit von ReiserFS im Kernel nun ihrem Ende zu. Der Code von ReiserFS v3 steht als Streichkandidat fest. Währenddessen meldete sich der wegen Mordes an seiner Ehefrau verurteilte Entwickler Hans Reiser aus dem Gefängnis, um sich für seine Taten zu entschuldigen. Zudem wandte er sich an die Kernel-Entwickler und bat darum, für eine letzte Veröffentlichung die README-Datei überarbeiten zu dürfen. Mikhail Gilula, Konstantin Shvachko und Anatoly Pinchuk sollten auf Wunsch Reisers in den Credits hinzukommen, und alle negativen Aussagen über deren Beiträge seien zu streichen. Es sei an der Zeit loszulassen, so Reiser [16].
Kernel-Interna
Dank des überarbeiteten DMI-Subsystems gibt Linux 6.10 erstmals die Anzahl der belegten Speicherplätze beim Booten in das Kernel-Log aus. In Dmesg lassen sich diese Plätze auslesen [19]. Der Scheduler erhielt mit dem CPUFreq Pressure Feedback eine Funktion, die über die Zeit informiert, in der Aufgaben auf der CPU entweder teilweise oder vollständig blockiert sind. Das Misfit Load Balancing hat zusätzliche Fähigkeiten erworben: Sind Aufgaben einer Reihe von CPU-Kernen zugeordnet, kann es sicherstellen, dass einer der Kerne die Kapazität hat, den Job auch auszuführen [20].
Bereits seit geraumer Zeit ist der Blue Screen of Death (BSOD) für Linux in der Diskussion. Linux 6.10 legt dafür nun die Grundlagen in der Infrastruktur, um eine Kernel Panic grafisch als BSOD anzuzeigen. Ein DRM-Panic-Handler, den federführend Red Hat betreut, übernimmt die Aufgabe. Damit lässt sich eine Kernel Panic auch visualisieren, wenn Framebuffer-Konsolen und VTs deaktiviert sind.
Sicherheit
Für mehr Sicherheit soll der neue Systemaufruf »mseal()« sorgen. Dieser vom Google-Chrome-Team entwickelte Syscall ermöglicht das Versiegeln des Speichers und bietet eine zusätzliche Sicherheitsebene, indem er bestimmte Änderungen an versiegelten Speicherbereichen verhindert. Diese Technik funktioniert im Browser und in C-Bibliotheken gleichermaßen. Das Hardening des Kernels erweitert der KCFI-Mechanismus (Kernel Control Flow Integrity). Die Funktion »make hardening.config«, die seit Linux 6.7 an Bord ist, umfasst nun bei Verwendung des LLVM-Clang-Compilers Unterstützung für Clang in KCFI.
Weitere Sicherheitsverbesserungen betreffen die Verschlüsselung und den Integritätsschutz für den TPM2-Bus (Trusted Platform Module). Das soll die sichere Übertragung vertraulicher Daten zwischen dem TPM und dem System gewährleisten. Diese Entwicklung reagiert auf die jüngsten Demonstrationen von TPM-Schlüsselwiederherstellungsangriffen sowohl auf Windows- als auch auf Linux-Systemen.
Trivia
Vor vier Monaten verkündete Torvalds’ Stellvertreter Greg Kroah-Hartman, dass das Linux-Kernel-Projekt jetzt auch als CVE Numbering Authority (CNA) agiert. Damit räumte GKH den lange bestehenden Kritikpunkt aus, die Kernel-Community katalogisiere sicherheitsrelevante Fehler nicht als Common Vulnerabilities and Exposures (CVEs). Seitdem hat das Linux-CNA-Team Arbeitsabläufe und Mechanismen entwickelt, um die verschiedenen Aufgaben im Zusammenhang mit dieser Herausforderung zu bewältigen. Ein ausführlicher Artikel auf LWN.net erklärt die Hintergründe dazu [21]. Währenddessen orakelte Torvalds in einem Gespräch mit seinem Freund und Tauchkumpan Dirk Hohndel, RISC-V werde die gleichen Fehler begehen wie ARM und x86 [22].
Fazit
Kernel 6.10 ist ein durchschnittlicher Kernel, was die 11 534 Einreichungen angeht. Da spielt bestimmt die derzeitige Urlaubszeit in vielen Teilen der Welt eine Rolle. Alle Neuerungen fasst wie gewohnt die Kernel-Newbies-Webseite zusammen [23]. Verläuft die Entwicklung von Linux 6.11 im üblichen Zeitrahmen, könnte der Folge-Kernel am 22. September 2024 erscheinen. (uba)
Infos
- Panthor: https://www.collabora.com/news-and-blog/news-and-events/release-the-panthor.html
- ROCm Compute: https://github.com/ROCm/ROCm
- AMDKFD: https://github.com/ROCm/ROCK-Kernel-Driver
- RISC-V: https://lore.kernel.org/lkml/20240522173553.4653fabdd1f4d9825f38e0ae@linux-foundation.org/
- Intel: https://lore.kernel.org/dri-devel/Zh_Q72gYKMMbge9A@intel.com/
- Qualcomm: https://lore.kernel.org/lkml/ZkxPn_tmkPzo_T5c@matsya/
- CPUs: https://lore.kernel.org/lkml/CAJZ5v0hDjPb8n5wQODb==QMvp7ipEVpRoSqJ6pTii=_6XvRwEw@mail.gmail.com/
- RISC-V: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0bfbc914d9433d8ac2763a9ce99ce7721ee5c8e0
- JH7100: https://github.com/starfive-tech/JH7100_Docs/blob/main/JH7100%20Data%20Sheet%20V01.01.04-EN%20(4-21-2021).pdf
- SoCs: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1b036162097060e7e762b601de6517d9f2c7514e
- PPC 40x: https://lore.kernel.org/lkml/20240506125152.78174-1-mpe@ellerman.id.au/
- Bcachefs: https://lore.kernel.org/lkml/zhtllemg2gcex7hwybjzoavzrsnrwheuxtswqyo3mn2dlhsxbx@dkfnr5zx3r2x/
- XFS: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=119d1b8a5d49138b151d3450ceb207dc439f7085
- Btrfs: https://lore.kernel.org/lkml/cover.1716556959.git.dsterba@suse.com/
- NTFS3: https://lore.kernel.org/lkml/20240525070323.6106-1-almaz.alexandrovich@paragon-software.com
- Reiser: https://ftp.mfek.org/Reiser/Letters/
- Framework: https://lore.kernel.org/lkml/ZkGWGbzFu3rmDElk@google.com/
- Sound: https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/log/?h=for-next
- DMI: https://lore.kernel.org/lkml/20240520101221.463a1ec8@endymion.delvare/
- Scheduler: https://lore.kernel.org/lkml/ZkG0nxxBPB%2F03Q%2Fl@gmail.com/
- CVE: https://lwn.net/Articles/978711/
- Torvalds: https://www.tomshardware.com/tech-industry/linus-torvalds-says-risc-v-will-make-the-same-mistakes-as-arm-and-x86
- Kernel Newbies: https://kernelnewbies.org/Linux_6.10







