Aus Linux-Magazin 03/2017

Kernel 4.10: Atomic Modesetting, Iomap, Polaris 12

© arinahabich, 123RF

Den ersten Release Candidate für den Kernel 4.10 veröffentlichte Linus Torvalds zwei Wochen nach dem Öffnen des Merge Window – ohne fröhliches “Hohoho”, doch auch ohne Rute – pünktlich zu Weihnachten.

Anders als die Vorgängerversion 4.9, die größte jemals veröffentlichte Kernel-Release, falle Version 4.10 nicht durch besondere Größe auf, stellte der Kernel-König am 25. Dezember 2016 lapidar fest [1]. Ungewöhnlich sei höchstens das Ausmaß an Aufräumarbeiten, ansonsten bestehe mehr als die Hälfte des Codes aus Treibern, gebe es etwas weniger Architektur-Updates als sonst und dafür einige Aktualisierungen an der Dokumentation. Letzteres sei noch immer dem Wechsel auf den Dokumentations-Generator Sphinx geschuldet.

Neben ein paar neuen USB-Treibern konnte Staging-Chef Greg Kroah-Hartman im Umgang mit abhängigen Treibern Fortschritte ankündigen. Der Entwickler Rafael J. Wysocki hat sich um solche “funktionalen Abhängigkeiten” [2] gekümmert und steuerte entsprechenden Code bei. Konkret betrifft das Fälle, in denen der Treiber für ein Gerät B erst dann arbeiten kann, wenn ein Gerät A und dessen Treiber vorhanden sind. Treiber A muss also am Platz sein, bevor Treiber B startet, darf aber nicht vor Treiber B wieder von der Bildfläche verschwinden.

Der entsprechende Code existierte bereits seit Version 4.9-rc1, man habe das letzte Merge Window aber ausgelassen, weil man noch ein paar weitere Tests anstoßen wollte. Um die “funktionalen Abhängigkeiten” in die Praxis umzusetzen, musste Wysocki unter anderem die Konsequenzen beim Suspend und Resume sowie im Powermanagement mitdenken.

Am Filesystem gefeilt

Während es für Btr-FS nur wenig spektakuläre Korrekturen und Bereinigungen gab, punktete Samsungs Flash-Friendly File System (F2FS) mit neuen Features und mehr Performance. Einige der Patches sorgen zum Beispiel für schnellere I/O-Datentransfers.

Daneben unterstützt F2FS nun auch ZBC-basierte Laufwerke. Zoned Block Commands gelten als der Standard, um mit Serial-Attached-SCSI-Laufwerken (SAS) zu kommunizieren, die Shingled Magnetic Recording (Abbildung 1) praktizieren. Die Zonen-basierte Datenspeichertechnik schreibt Tracks in überlappender Form, die an Dachschindeln erinnern, was eine höhere Spurdichte ermöglicht.

Abbildung 1: Shingled Magnetic Recording soll Speicherplatz sparen.

Abbildung 1: Shingled Magnetic Recording soll Speicherplatz sparen.

Zudem lernte F2FS den Umgang mit mehreren Devices. Übergibt ein Admin mit »mkfs.f2fs« mehrere Geräte, zeigt F2FS diese als ein Volume an, das in einer Instanz läuft.

Im XFS-Lager übergibt Entwickler Dave Chinner seine Maintainer-Rolle für ein halbes Jahr an Darrick J. Wong, hatte aber noch ein paar Änderungen im Gepäck. Eine neue Direct-I/O-Implementierung nutzt die Iomap-Infrastruktur und arbeitet schneller. Zugleich erzeugt der Wechsel weniger I/O-Latenz als die bisherige I/O-Infrastruktur.

Auch die Ext-4-Entwickler um Ted Ts’o befassen sich mit dem Iomap-Interface. Sie steuerten Neuerungen bei, die es erlauben, Dax-I/O-Pfade mit dem Iomap-Interface zu verwenden. Dax [3] funktioniert für Ext 4 und XFS und steht für Direct Access (das X für “eXciting”). Vereinfacht gesagt geht es darum, das auf RAM-artig schnellen, nicht-flüchtigen Blockgeräten überflüssige Speichern von Daten im Pagecache zu umgehen. Um Zugriffe hier nicht auszubremsen, erfolgen Lese- und Schreibvorgänge dank Dax direkt auf dem Storage Device.

Raid a Minute

Die Entwickler von MD (Multiple Device) spendierten ihrem Software-Raid derweilen einen Raid-5-Writeback-Cache [4]. Der Zwischenspeicher sammelt Schreibwünsche, um dann vollständige Stripe-Schreibvorgänge zu starten, was Read-Modify-Write-Zyklen einspare. Der Cache eigne sich besonders für Arbeitsaufgaben mit sequenziellen Schreibaktionen gefolgt von Syncs mit »fsync()«. Noch ist das Feature standardmäßig deaktiviert und gilt als experimentell.

Dank Support für Failfast reagieren Software-Raids zudem schneller auf Fehler, wenn Systeme versuchen auf kaputte Festplatten im Verbund zu schreiben. Das Feature betreffe hauptsächlich Geräte mit direktem Speicherzugriff (Direct Access Storage Devices). Nicht zuletzt verfolge der Multiple-Device-Treiber Bad-Blocks nun auch, wenn ein Raid-Array seine Metadaten extern speichert.

Nestplätze

David Vrabel tritt als Maintainer des Xen Hypervisor Interface ab, Jürgen Groß schickt fortan die Pull-Requests an Linus, lautete die Hauptnachricht aus dem Xen-Lager. Abgesehen von kleineren Reparaturen habe man noch an den Hilfestellungen zum Schreiben von gut lesbarem Code gefeilt.

Die KVM-Macher kündigten hingegen mehrere neue Features an. So kann der x86-Userspace Funktionen von geschachtelten (nested) Virtualisierungserweiterungen vor den Gastsystemen verbergen. Zugleich läuft Microsofts Hyper-V nun als Gastsystem in solchen geschachtelten Erweiterungen.

Darüber hinaus unterstützt die Infrastruktur von KVM virtuelle Intel-GPUs und stärkt den Deep-Learning-Support, indem es für künftige Intel-Xeon- und Xeon-Phi-Prozessoren den Umgang mit den Vektorinstruktionen »AVX512_4VNNIW« sowie »AVX512_4FMAPS« erlernt.

Für die Optik

Ein nicht unwesentliches Gewicht lag einmal mehr auf den Änderungen für die Grafikkartentreiber, die Entwickler David Airlie ankündigte. Die freien AMDGPU-Treiber kommen nun mit mehreren virtuellen Displays zurecht, ein neuer VM-Manager verwaltet nicht-zusammenhängende VRAM-Puffer. UVD-Powergating schaltet den UVD-Block ab, wenn dieser nicht aktiv ist, um Energie zu sparen. Außerdem unterstützt der Kernel Polaris 12: Für AMDs frostnamige Grafikarchitektur sollen 2017 mehrere GPUs erscheinen.

Für Intels »i915«-Treiber floss eine Menge Code in die Grafikkarten-Virtualisierung. Die ermöglicht es, eine GPU mit Hilfe virtueller GPUs (vGPUs) auf verschiedene VMs zu verteilen. Noch sei aber nicht der komplette Code da, schrieb Airlie mit Verweis auf den oben erwähnten KVM-Infrastruktur-Code.

Daneben erwartet Linuxer ein besserer HDMI-2.0-Support für Intels Skylake-Plattform sowie ein optimierter GPU-Umgang mit Suspend und Resume.

Auch Nouveau bringt beachtenswerte Neuerungen am Powermanagement mit und unterstützt neuerdings Atomic Modesetting und Displayport Multistream. Auch Support für Boost Clocking steckt in dem Treiber, um die Boost-Clock-Frequenzen von Kepler-Grafikkarten zu nutzen. Das soll die Performance der freien Treiber deutlich in die Nähe ihrer proprietären Gegenstücke befördern.

Eingabesysteme

Die Entwickler des Input-Subsystems haben den Support für Synaptics-Geräte aktualisiert, die das RMI4-Protokoll verwenden. Konkret funktionieren dank der Updates nun SM-Bus-Controller, Firmware-Updates, Sensortuning und PS/2-Gäste.

Auch im Subsystem für Human Interface Devices gab es Bewegung. So unterstützt Kernel 4.10 eine neue Klasse von Wacom-Tablets (Mobile Studio Pro), Microsofts Surface-Tablets in den Versionen 3 und 4 sowie das PS3-Tablet U-Draw. Nicht zuletzt kommt der Vorab-Kernel mit Sonys Dualshock-4-Dongle zurecht.

Der fertige Kernel landet voraussichtlich im Laufe der ersten beiden Monate des Jahres 2017 auf Kernel.org [5].

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 2 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben