Linux 5.2 führt ein Feldbus-Subsystem ein, das Dateisystem Ext 4 bringt nun Unicode-12.1-Support mit. Zudem unterstützt Intel jetzt Sound Open Firmware (SOF), und es gibt Community-Treiber für Mali-GPUs.
Glaubt man Linus Torvalds, ging im Merge Window für Linux-Kernel 5.2 “nichts besonders Merkwürdiges vor sich”. Meist lesen sich aber Torvalds Ankündigungen neuer Kernel ohnehin so, als würde er den lieben langen Tag in einer Hängematte meditieren.
Immerhin erwähnt er die neuen Unicode Tables für das Dateisystem Ext 4. Sie bringen dank des Supports für Unicode 12.1 einen großen Brocken Code mit. Im selben Dateisystem lassen sich nun auch Ordner anlegen, die mal zwischen Groß- und Kleinschreibungen unterscheiden und mal auch nicht.
Auch andere Dateisysteme glänzen mit neuen Features, die XFS-Macher vermeldeten ein experimentelles: XFS aktualisiert den Gesundheitsstatus des Dateisystems nach Checks der Festplatte im laufenden Betrieb über die Metadaten und meldet ihn an den Userspace.
Das Flash-Dateisystem F2FS unterstützt Laufwerke, die auf Shingled Magnetic Recording [1] setzen, einer effizienten Datenspeichertechnik. Btr-FS verbessert Lese- und Schreibchecks, um Fehler zu entdecken, bevor korrupte Dateien auf der Festplatte landen und (falsche) Checksummen erhalten. Fsync funktioniert nun schneller mit Dateien, die viele (aber nicht zu viele) Hardlinks mitbringen, was Backups beschleunigt.
Fuse, über das Admins Dateisysteme im Userspace einbinden, räumt diesen Dateisystemen mehr Kontrolle beim Cachen ein. Für NFS reduzieren die Entwickler Time-outs aufgrund von False Positives. Treten diese doch auf, gelingt der Failover von Lese- und Schreibvorgängen schneller. Eine neue »softerr«-Mountoption gibt ein »ETIMEDOUT« statt eines »EIO« zurück. Das verteilte Dateisystem Ceph exportiert Snapshots nun auch über NFS.
Subsystem für Feldbus
Die Feldbus-Technologie besteht aus einer Familie von Netzwerkprotokollen, die im industriellen Umfeld verschiedene Sensoren, Aktoren, Systeme, Komponenten und Instrumente miteinander verbinden. Sie kommen zum Beispiel in Häusern, Fabriken und Autos zum Einsatz. Erstmals in den 80er Jahren eingesetzt, wurden Feldbusse 1999 schließlich im IEC 61158 standardisiert. Nun lernt auch der Linux-Kernel den Umgang mit den Protokollen und bringt dafür neuerdings das Fieldbus-Subsystem mit.
Ebenfalls ein bekanntes Bussystem ist I2C, allerdings eher für elektronische Geräte. Über I2C kommunizieren integrierte Schaltkreise miteinander. Ursprünglich kam das von Philips entwickelte Bussystem vor allem in elektronischen Unterhaltungsgeräten zum Einsatz, im Smart Home verbindet es heute zum Beispiel Sensoren, Jalousien oder Alarmanlagen mit einem Steuergerät [2].
Das I2C bringt nun ein API für späte atomare Transfers mit, ein separater Callback sorgt für geregelte Shutdowns. Zudem hat Kernel 5.2 einen neuen Treiber für den PCIe-MP2-I2C-Controller von AMD an Bord.
Cgroups und KVM
Cgroups 2 erhält einen Freezer-Mechanismus, der anders funktioniert als der für Cgroups 1. Er blockiert keine Usertasks in Form von willkürlichen, nicht zu unterbrechenden Schlafzuständen. Vielmehr erweitere der neue Freezer »jobctl stop« und friert Tasks über ein Freezer-Flag ein, bis der Kernel sie wieder auftaut. Sie lassen sich dann regulär killen und mit Ptrace verfolgen.
Neuigkeiten gibt es auch für die Kernel Virtual Machine. Die trackt nun “Dirty Pages” besser, so heißen Daten, die der Page Cache zwischenspeichert, bevor er sie auf ein Speichergerät schreibt. KVM verbessert den Support für ARM-Gäste und erlaubt direkten Zugriff auf Interrupt-Controller, Speicher und Performance-Optimierungen für die External Interrupt Virtualization Engine von Power 9.
Intel Sound Open Firmware
Mit Linux 5.2 unterstützt Intel neuerdings Sound Open Firmware (SOF) für das DSP-Framework. Takashi Iwai, der die Patches eingereicht hat, hält das für eine gute Sache. Damit werde die Tür für eine wirklich freie Firmware im FOSS-Sinne geöffnet. Zudem würden weitere Parteien bereits Interesse an dem Code signalisieren.
Ebenfalls helfen wollte wohl Cheng-Yi Chiang, als er Code für HDMI-Hotplug und EDID-Notifier einreichte. Nun fiel auf: Ein ebenfalls auf einem Patch von Russell King [3] basierendes Stück Code, ein CEC-spezifischer Notifier, steckte bereits im »media«-Subsystem. Das stellte Hans Verkuil von Cisco fest und schlug auch gleich vor, den CEC-Notifier auch in einen HDMI-Notifier zu verwandeln. Entwickler Daniel Vetter merkte bei der Gelegenheit an, dass er Notifier ohnehin für problematisch halte. Für einen Job seien sie gut geeignet, kämen aber mehrere Geräte hinzu, könnten unerwartete Probleme auftauchen.
Mali, FPU-Register und Perf
“Zwei aufregende Community-Treiber” verspricht die DRM-Ankündigung [4]. Die betreffen Beschleuniger für Mali-GPUs von ARM. Das Unternehmen sei in Sachen GPUs noch nie besonders Open-Source-freundlich gewesen, also habe die Community die Sache selbst in die Hand genommen, erklärt Entwickler Dave Airlie. Ein Treiber heißt Lima und deckt die 400er Reihe ab, der andere nennt sich Panfrost und unterstützt die 600er und 700er Modelle.
Daneben gebe es für Admins neuerdings die Möglichkeit, jeden Pre-KMS-Supportcode aus dem DRM-Kern zu entfernen, was auf Maschinen etwa zehn Prozent an Code einspare. Das Großreinemachen setze allerdings voraus, dass keine alten Treiber aus der KMS-Prähistorie auf dem System laufen.
Gute Nachrichten auch für Nutzer von Virtualbox: Der »vboxvideo«-Treiber habe den Staging-Bereich verlassen. Nicht zuletzt, schreibt Airlie, aktiviere Intels »i915«-Treiber nun standardmäßig den Support für Icelake- und Elkhart-GPUs der elften Generation.
Lob von Torvalds gab es für ein Patch von Suses Borislaw Petkow, das das Laden von FPU-Registern optimiert. Der Kernel lädt diese nun nicht mehr bei jedem Kontext-Switch, sondern – so lange die Task im Kernel verbleibt – erst bei der Rückkehr in den Userspace. Zugleich erzeugt die Funktion »kernel_fpu_begin()« weniger Overhead, weil sie Register nur beim ersten Aufruf und nicht mehr bei den folgenden Schritten speichert.
Perf, ein in den Kernel integriertes Tool für Performance-Messungen, unterstützt nun Intels Adaptive Pebs in Version 4, das einen effizienteren Weg anbietet, um Sampling-Informationen zu übermitteln. Pebs steht für Precise Event-based Sampling. Daneben erhielten »perf record«, »perf trace« und »perf stat« Updates.
Übersehene Lizenzen
Einen ganzen Haufen von Patches betreffen späte Nachlieferungen für Lizenzen, genau genommen SPDX-Tags. Diese machen Lizenzinformationen zu Kerneldateien maschinenlesbar. Wie Greg Kroah-Hartman erklärt [5], handelt es sich einerseits um fehlende SPDX-Einträge, die das Suchwerkzeug ein Jahr zuvor übersehen hatte. Andererseits spürt das Tool Dateien mit integrierten Lizenztexten auf, um diese durch die Tags »GPL-2.0-only« oder »GPL-2.0-or-later« zu ersetzen.
Die Größe der Patches begründet Kroah-Hartman mit dem Umfang des Kernels: Würde man die Lizenzen weiter in der bisherigen Geschwindigkeit ändern, wäre man frühestens in zehn Jahren fertig.
Herunterladen lässt sich der fertige Kernel wie gewohnt über http://kernel.org, neuerdings aber auch über Gitub [6].
Infos
-
SMR: https://de.wikipedia.org/wiki/Shingled_Magnetic_Recording
-
I2C-Bus: https://www.linux-magazin.de/ausgaben/2016/12/i2c-bus/
-
Notifier-Patch: https://patchwork.kernel.org/patch/9277043/
-
DRM-Updates: https://lists.gt.net/linux/kernel/3309260#3309260
-
Kernel auf Github: https://github.com/gregkh/linux/releases






