Open Source im professionellen Einsatz
Linux-Magazin 03/2017
© arinahabich, 123RF

© arinahabich, 123RF

Kernel 4.10: Atomic Modesetting, Iomap, Polaris 12

Weihnachts-Kernel

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.

591

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.

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.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Linux 4.10 ist gelandet

    Bereits zu Weihnachten erschien der erste RC von Linux 4.10, nun ist der Kernel offiziell fertig. Fortschritte gibt es im Umgang mit abhängigen Treiber, Intel liefert Code für vGPUs und F2FS unterstützt ZBC-basierte Laufwerke.

  • Kernel-News

    Quantitativ verbucht einmal mehr AMD mit seinem Polaris-Support einen Großteil der Neuerungen von Kernel 4.7 für sich. Qualitativ fließen aber noch weitere interessante Features ein.

  • Kernel-News

    Im letzten legten Entwickler die Grundlage, im neuen Kernel 4.12 landen nun mit BFQ und dem Kyber I/O Scheduler zwei neue Terminplaner für Datenzugriffe auf Speichergeräte. Arbeit floss auch in den Vega-Support des AMDGPU-Treibers, zudem kommt Linux jetzt mit USB-Typ-C-Geräten klar.

  • Linux-Kernel 4.12 veröffentlicht

    Am 2. Juli hat Linus Torvalds den nach seiner Aussage recht umfangreichen Kernel 4.12 freigegeben. Neben USB-Typ-C-Support sind zwei neue Terminplaner für Datenzugriffe auf Speichergeräte an Bord und AMDGPU-Code für Vega.

  • Kernel-News

    Mitte März soll sie erscheinen, die neue Version 4.5 des Linux-Kernels, und allerhand Neuerungen mitbringen. So erhält der Raspberry Pi 3-D-Funktionen und der AMDGPU-Treiber soll dank Powerplay-Funktion die Leistung der Grafikkarte voll ausschöpfen.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.