Kernel-Log – Was 3.17 bringt (1): Storage & Netzwerk

Der USB/IP-Stack, der USB-Geräte per TCP/IP an andere Systeme überstellt, ist jetzt ein vollwertiger Bestandteil des Linux-Kernels. SCSI-Treiber können nun auf die Block-Layer-Infrastruktur für besonders schnelle Datenträger zurückgreifen.

In Pocket speichern vorlesen Druckansicht 14 Kommentare lesen
Lesezeit: 6 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Die Entwicklung von Linux 3.17 ist mittlerweile bei der fünften Vorabversion angelangt. Mit dem fünften RC ist die Freigabe einer neuen Kernel-Version meist nur noch zwei Wochen entfernt. Torvalds denkt aber darüber nach, die Veröffentlichung von 3.17 noch bis Mitte Oktober hinauszuzögern, denn er will vermeiden, dass die Hauptentwicklungsphase von 3.18 mit seiner Reise zur LinuxCon Europe in Düsseldorf kollidiert.

Alle wesentlichen Änderungen für 3.17 haben die Kernel-Entwickler wie gewohnt in den ersten beiden Wochen seit Beginn der Entwicklungs aufgenommen. Seitdem gab es nur noch kleine Änderungen, daher kann das Kernel-Log schon jetzt die wesentlichen Änderungen dieser Kernel-Version beschreiben. Das erfolgt wie üblich in einer mehrteiligen Artikelserie, die sich als erstes den Neuerungen rund um Datenspeicherung und Netzwerk-Unterstützung beginnt. In den kommenden Wochen folgen Artikel zu Prozessor-Unterstützung, Kernel-Infrastruktur und Treibern.

Das SCSI-Subsystem und seine Treiber können nun auf den bei Linux 3.13 integrierten und bei 3.16 verbesserten Multi-Queue Block IO Queueing Mechanism (blk-mq) zurückgreifen. Er kann Datenträger mit mehreren Warteschlangen ansprechen, was erforderlich ist, um die Leistungsfähigkeit der heute schnellsten Datenträger auszuschöpfen; dazu zählen über PCIe angesprochene SSDs, die um einiges schneller arbeiten als per SATA angebundene Desktop- und Notebook-SSDs. Die Blk-Mq-Unterstützung im SCSI-Code gilt aber noch als experimentell und soll bei weniger schnellen Datenträgern noch langsamer arbeiten als der bislang genutzte Codepfad; fürs Erste muss man den neuen Codepfad daher über den Modul-Parameter "use_blk_mq" explizit einschalten.

USB/IP überstellt USB-Geräte per TCP/IP an andere Systeme .

(Bild: usbip.sourceforge.net)

Der USB/IP-Stack, der den Zugriff auf lokale USB-Geräte über eine Netzwerkverbindung von anderen Rechnern aus ermöglicht, hat den Staging-Bereich verlassen (u. a. 1, 2). Dadurch dürften die USB/IP-Treiber und die zugehörige Userspace-Software nun auch in Linux-Distributionen auftauchen, die Staging-Code aufgrund seiner Qualitätsmängel und der unsicheren Support-Situation meiden.

USB/IP wurde ursprünglich vom USB/IP Project entwickelt. Das hat auch Treiber und Werkzeuge im Angebot, durch die ein Windows-PC auf ein USB-Gerät zugreifen kann, das ein Linux-System per USB/IP freigibt. Die Windows-Software und die Projekt-Webseite wurden allerdings seit 2011 nicht mehr aktualisiert.

Der XFS-Dateisystemcode stellt in Sysfs nun einige Informationen zu Partitionen mit XFS bereit.

Das zum Zugriff auf Windows- und Samba-Server genutzte CIFS-Dateisystem soll Aussetzer der Netzwerk-Verbindung nun besser verkraften. Beim SMB2- und SMB3-Protokoll beherrscht CIFS jetzt "multi-credit", was unter anderem die Performance beim Zugriff großer Dateien verbessern kann (1, 2). Ferner unterstützt es bei SMB3 jetzt Fallocate – einen bei 2.6.38 eingeführten Systemaufruf, mit dem Programme ein Dateisystem über ungenutzte Dateibereiche informieren können, um den davon belegten Speicherplatz freizugeben (1, 2).

Was Linux 3.17 bringt

Das Ende September oder Anfang Oktober erwartete Linux 3.17 befindet sich in der Stabilisierungsphase. Größere Umbauarbeiten gibt es in dieser Zeit nur in seltenen Ausnahmefällen, denn alle wesentlichen Neuerungen haben die Kernel-Hacker bereits Anfang August in den ersten beiden Entwicklungswochen integriert. Das Kernel-Log kann daher bereits vor der Fertigstellung einen Überblick über die wichtigsten Änderungen dieser Version liefern. Das erfolgt im Rahmen der Artikelserie "Was 3.17 bringt", die aus drei Teilen besteht:

Das bei 3.8 integrierte Flash-Friendly File System (F2FS) unterstützt nun die Mount-Option "nobarrier"; wie bei Ext-Dateisystemen, XFS und Co. kann sie die Geschwindigkeit steigern, erhöht aber gleichzeitig das Datenverlustrisiko bei Abstürzen. Das maßgeblich von Samsung vorangetriebene Dateisystem für Datenträger mit Flash-Chips unterstützt nun auch das bei 3.11 eingeführte Open-Flag O_TMPFILE; mit ihm lassen sich temporäre Dateien anlegen, die beim Auflisten der Dateisysteminhalte nie zu sehen sind und beim Schließen der Datei gelöscht werden.

Das NFS-Dateisystem nutzt RCU (Read-copy-update) nun intensiver, was das Auflisten von Dateisysteminhalten beschleunigen kann (u.a. 1). Der NFSv4-Server-Code soll dank einiger Locking-Optimierungen besser skalieren.

Bei Ext4 gab es nur kleinere Fehlerkorrekturen und Aufräumarbeiten. So war es auch bei Btrfs, denn einen größeren Schwung an Btrfs-Änderungen hatte Torvalds abgelehnt, weil der Btrfs-Maintainer sie erst ganz am Ende der Hauptentwicklungsphase eingeschickt und kurz vorher noch überarbeitet hatte.

Der Treiber i40e für 10G- und 40G-Netzwerkchips der XL710-Serie von Intel beherrscht nun FCoE (Fibre Channel Over Ethernet) (u.a. 1, 2, 3). Der WLAN-Treiber brcm80211 unterstützt jetzt Broadcoms PCIe-Chips 43602, 4354, 4356, 43567 und 43570.

Es gab noch hunderte andere Änderungen am Code der beschriebenen Kernel-Bereiche. Informationen zu diesen finden Sie über die folgenden Links, die auf Git-Merge-Commits verweisen, mit denen die wesentlichsten Neuerungen dieser Bereiche in Linux 3.17 eingeflossen sind; die Git-Merge-Kommentare enthalten zumeist eine Beschreibung, die die wichtigsten Änderungen des jeweiligen Subsystems nennt.

Netzwerk

Storage

Dateisysteme

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs auf heise open. Neue Ausgaben des Kernel-Logs werden auf dem Twitter-Konto "@kernellog" annonciert.

(thl) (thl)