Zum Hauptinhalt Zur Navigation

Kernel: Linux 5.3 unterstützt Navi und weiterhin Disketten

Die Version 5.3 des Linux-Kernels ist erschienen. Diese unterstützt weiterhin alte Disketten und bringt wie immer viele Änderungen an Grafik- und Dateisystemen mit. Die Entwickler haben auch neue Systemaufrufe umgesetzt.
/ Sebastian Grüner
4 Kommentare News folgen (öffnet im neuen Fenster)
Der Linux-Kernel 5.3 ist erschienen. (Bild: Don Faulkner/Flickr.com)
Der Linux-Kernel 5.3 ist erschienen. Bild: Don Faulkner/Flickr.com / CC-BY-SA 2.0

Entwickler Linus Torvalds hat den Linux-Kernel 5.3 veröffentlicht. In der Ankündigungs-E-Mail(öffnet im neuen Fenster) verweist Torvalds auf die Arbeitsmaxime der Kernel-Entwickler, nie Anwendungen im User-Space durch Neuerungen im Kernel zu beschädigen und auch keine sogenannten Regressions zuzulassen. Doch in der Entwicklung von Linux 5.3 ist genau dies vorgekommen, immerhin aber noch kurz vor der Veröffentlichung aufgefallen.

Torvalds hat den betreffenden Patch zurückgenommen und schreibt selbst, dass die technischen Details dazu wenig relevant sind. Ihm sei wichtiger, darauf zu verweisen, was als Regression zähle, was recht einfach ist. Eine vorher laufende Anwendung läuft mit einer speziellen Änderung im Kernel eben nicht mehr so wie vorher. Das soll laut Torvalds eben nicht vorkommen. Die Kernel-Entwickler kümmern sich nun also um das Beheben des zugrundeliegenden Fehlers, bis die Neuerung wieder in den Linux-Kernel eingepflegt werden kann.

Grafikstack unterstützt AMDs Navi

Für den GPU-Bereich hob der dafür zuständige Maintainer David Airlie(öffnet im neuen Fenster) die Unterstützung für die Navi-GPUs von AMD als größte Neuerung hervor. Dabei handelt es sich um die unter dem Namen RX 5700 (XT) von AMD vermarkteten Grafikkarten. Die Patches sind wie bei AMD inzwischen üblich enorm groß, da diese viele und große Headerdateien für den Kernel mitbringen.

Die Patches selbst liefern grundlegende Arbeit für die neue Architektur und für die eigentliche Grafikeinheit (GFX10). Ebenso enthalten ist der Support für die neue Displayeinheit (DCN2), die mit HDMI 2.0b und Displayport 1.4 auch HDR unterstützt, sowie DSC 1.2. Mit Letzterem lassen sich die Videosignale selbst komprimieren, etwa durch eine Farbunterabtastung, so dass noch größere Auflösungen und Bildwiederholraten möglich werden.

Mit den AMD-Patches einher geht nun auch die Unterstützung für HDR-Metadaten im AMDGPU-Treiber. Die Kernkomponenten aller GPU-Treiber in Linux können nun außerdem auf die Unterstützung für HDR Infoframes und ein korrektes EDID-Parsing zurückgreifen. Die Entwickler des Intel-Treibers i915 sind inzwischen so weit, HDR komplett im Kernel unterstützten zu können. Neu hinzugekommen ist auch der Treiber für die GPU Adreno 540 von Qualcomm, die im SoC Snapdragon 835 verbaut ist.

Eine etwas kuriose Änderung an Linux 5.3 bezieht sich auf den originalen Diskettentreiber. So übernimmt der Entwickler Denis Efremov fortan Wartung und Pflege dieses Treibers . Linus Torvalds hatte zuvor vage, aber öffentlich darüber nachgedacht, den Code offiziell in Rente zu schicken und ihn als verwaist zu markieren. Grund war, dass das Diskettenlaufwerk des bisherigen Maintainers, Jiri Kosina, schlicht kaputtgegangen ist.

Neue Systemaufrufe und neues fürs Dateisystem

Das Wiederverwenden von Prozess-IDs kann auf Unix-Systemen mitunter Probleme machen, wenn unbekannt ist, in welchem Zustand sich die Prozesse gerade befinden. Die Pidfd (Process ID File Descriptor) sollen ein wenig bei der Aufklärung helfen. Der neue Systemaufruf pidfd_open() sorgt dafür, dass auch mit fork() und clone() erzeugte Prozesse, die kein CLONE_PIDFD verwenden, ansprechbare Pidfd verwenden. Über die erfährt der Prozessmanager davon, falls ein Child-Prozess ohne Race Condition stirbt.

Ein weiterer Systemaufruf, das erwähnte clone() , wurde im aktuellen Kernel zudem geklont: Eine fast identische Kopie namens clone3() akzeptiert nun mehr Parameter als das Original.

Updates an Ceph und NFS

Aufregende Neuerungen kündigte Ilja Drjomow für Ceph(öffnet im neuen Fenster) an. Das unterstützt nun rbd object-map und fast-diff, die das Lesen, Verwerfen und Anlegen von Snap-Diffs für mitwachsende Images beschleunigen. Zudem unterstützt Ceph jetzt sicherheitsbezogene Extended File Attributes, allerdings bisher nur für SELinux.

Auch in Sachen NFS hat sich etwas getan. Das Verzeichnis /proc/fs/nfsd/clients/ hält nun lange ersehnte Informationen über NFSv4-Clients bereit, etwa zu geöffneten Dateien. Auf der Serverseite können Admins zudem den Status der Clients zwangsweise ändern.

Auf der Clientseite kommt NFSv4 mit dem speziellen File-Open-Access-Modus von Linux zurecht. Über die Mountoption nconnect=Anzahl wird dem NFS-Client zudem erlaubt, mehrere Verbindungen zum Server zu öffnen. Zugleich haben die Entwickler den Statistikcode aktualisiert, damit für alle Verbindungen Daten vorliegen. Nicht zuletzt darf NFSv4 dank eines neuen Mechanismus von Containern ohne Hostnamen verlangen, zumindest einen unverwechselbaren Bezeichner pro Host zu setzen.

Für Xen lieferte Jürgen Gross eine Serie von Patches an, die einen allgemeinen Kommandozeilenparameter einführen sollen. Dank ihm dürfen Gäste in virtualisierten Umgebungen künftig die Paravirtualisierungserweiterungen deaktivieren. UBI-FS unterstützt ebenfalls die Zstd-Kompression und signierte Offline-Dateisysteme.

Auch für die USB-Schnittstelle gibt es ein größeres Update, das die Einführung des neuen Cadence-DRD-Treibers betrifft. DRD steht dabei für Dual-Role Device. Der Cadence-DRD-Treiber für USB 3 lässt sich wahlweise in zwei Modi betreiben, nämlich Peripheral Only und Host Only (XHCI). Damit hängt der ebenfalls im Kernel 5.3 gelandete Support für Tigerlake Devices (Dwc3) und den neuen Imx7ulp-Treiber zusammen.

RISC-V bekommt große Pagetables

Auch für Risc-V hat Kernel 5.3 kleinere Neuerungen im Gepäck. So gibt es für die Architektur Hugepage-Support, also Unterstützung für große, von der CPU allozierte Arbeitsspeicher-Bereiche. Ebenso findet das initiale Pagetable-Setup nun zweistufig statt.

Der Berkeley Packet Filter (BPF) bringt Unterstützung für BTF-to-C mit. Die hilfreiche Neuerung erlaubt es, eine Untergruppe von BPF-Type-Formaten als Typendefinitionen in C auszugeben. Nicht nur erhöht das die Lesbarkeit der kryptischen BTF-Ausgaben, darüber lassen sich auch BPF-Programme portierbar machen, weil sie nicht mehr von den Kernel-Headern des Hosts abhängen.

Nicht zuletzt lässt sich die Boot-Kommandozeile nun während eines kexec-Kernelaufrufs messen. Das bedeutet, Veränderungen daran fallen im sogenannten Measurement-Prozess auf. Der dient der Sicherheit und verwendet unter anderem vom Trusted Platform Module erzeugte Werte, um Manipulationen beim Bootvorgang auf die Schliche zu kommen.

Linux 5.3 steht zum Download auf kernel.org(öffnet im neuen Fenster) bereit.


Relevante Themen