Zum Hauptinhalt Zur Navigation Zur Suche

Betriebssysteme: Linux 4.13 optimiert Dateizugriffe

Linux 4.13 geht in die Testphase. Viele Änderungen in dieser Ausgabe des Linux-Kernels betreffen diverse Dateisysteme und bislang noch nicht erhältliche Grafikchips. Das Windows Management Instrumentation bekommt im Kernel seinen eigenen Bus.
/ Jörg Thoma
3 Kommentare Auf Google folgen (öffnet im neuen Fenster)
Linux 4.13 geht in die Testphase. (Bild: Ville Miettinen)
Linux 4.13 geht in die Testphase. Bild: Ville Miettinen / CC-BY 2.0

Die integrierte Grafikeinheit in AMDs mobilem Prozessor Raven Ridge gehört ebenso dazu wie dessen Grafikchip mit dem Codenamen Vega: Der Code für die Unterstützung dieser Hardware macht den größten Teil der eingereichten Änderungen für Linux 4.13 aus. Aber auch Intels Prozessoren der nächsten Generation mit den Namen Coffee Lake und Cannon Lake erhalten Patches. Das bereits als Treiber integrierte Windows Management Instrumentation (WMI) bekommt seinen eigenen Bus. Die nächste Ausgabe des Linux-Kernels geht jetzt in die normalerweise sechs Wochen andauernde Testphase.

Wie üblich machten den Großteil des eingereichten Codes die Header-Dateien des freien Treibers für Grafikkarten von AMD (AMDGPU) aus, schreibt Linus Torvalds in der E-Mail, mit der die Einreichungen für Linux 4.13 beendet werden.

Was der ordentlichen Unterstützung für Vega aber immer noch fehlt, ist AMDs DC-Code (Display Core), dessen Aufnahme nach wie vor von der Linux-Community verweigert wird. Nur damit lassen sich HDMI-Audio, Kernel-gesteuerte Bildschirmauflösungen und überhaupt die Ausgabe auf dem Bildschirm realisieren. In der Beschreibung des jetzt eingereichten Codes(öffnet im neuen Fenster) fehlt weiterhin jeglicher Hinweis, ob und wann das geschehen wird. Nebenbei wurden einige Funktionen im Treiber verbessert, etwa im Direct Rendering Manager (DRM).

Stereoskopie für Nvidia

Der Treiber für Intels Grafikeinheiten bekommt größtenteils nur kleine Korrekturen für aktuelle Chips, aber auch Code für die kommenden Prozessoren Coffee Lake, die in den nächsten Monaten erwartet werden. Auch die Grafikeinheit des für Ultrabooks und 2-in-1-Geräten gedachten Prozessors Cannon Lake bekommt unterstützenden Code.

Wer es braucht, darf sich über die Unterstützung von stereoskopischem 3D im freien Treiber Nouveau für neuere Grafikchips von Nvidia freuen. Um die Unterstützung für die Vulkan-API zu verbessern, erhält der DRM-Kern die Möglichkeit, die Aktivitäten zwischen GPU und Anwendungen zu synchronisieren. Zudem wurde der VC4-Treiber für das Raspberry Pi um einige Funktionen erweitert.

Speicher und Dateisysteme

Das bereits in Linux 4.11 integrierte Statx, das neue Systemaufrufe für Dateiinformationen bereitstellt, wird jetzt von Btrfs sowie den speziell für Flash-Speicher konzipierten Dateisystemen F2FS und UBIFS (Unsorted Block Image File-System) unterstützt. F2FS erhält darüber hinaus die Unterstützung für Benutzer- und Gruppen-Quotas.

Im Dateisystem Ext4 hat sich einiges getan. Die Obergrenze für Einträge in einem einzelnen Verzeichnis wurde von etwa 10 Millionen auf etwa 2 Milliarden Einträge erhöht. Das ist besonders bei verteilten Dateisystemen wichtig, entsprechend kam der Code für die als Largedir bezeichnete Erweiterung von den Lustre-Entwicklern.

Die Ext4-Hacker warnen jedoch vor deutlichen Leistungseinbrüchen, wenn tatsächlich so viele Dateien in einem Verzeichnis untergebracht werden. Außerdem können erweiterte Attribute (Extended Attributs) künftig in einem eigenen Inode mit bis zu 64 KByte gespeichert werden. Zusätzlich lassen sich identische Attribute deduplizieren. Durch diese Zusammenlegung wird Speicherplatz gespart und auch die Leistung erhöht, da weniger zwischengespeichert werden muss.

Lebenszeiten von Dateien

Wer SSDs mit der Discard-Option einbindet, darf sich ebenfalls über eine Leistungssteigerung freuen, denn Ext4 arbeitet sie künftig parallel ab. Die dabei an Datenträger beim Löschen von Dateien gemeldeten freien Bereiche sollen laut Entwickler deutlich schneller gemeldet werden. Ebenso wie F2FS kann Ext4 nicht nur die Verschlüsselung mit 256-Bit AES verwenden, sondern auch 128-Bit AES, damit weniger leistungsfähige Prozessoren, etwa auf eingebetteten Systemen, effizienter verschlüsseln können.

Ebenfalls für mehr Geschwindigkeit sollen die sogenannten Lifetime-Hints des Block-Layer-Treibers sorgen. Anwendungen können dem Kernel damit melden, wie lange eine zu speichernde Datei auf NVMe-Datenträgern verbleiben soll. Dann sorgt der Block-Layer-Treiber dafür, dass ein möglichst günstiger Platz für die Datei auf dem Datenträger gefunden wird.

Der Block-Layer-Treiber sorgt künftig auch dafür, dass anstelle des bisherigen allgemeinen I/O Errors genauere Fehlermeldungen von Datenträgern an Dateisysteme beziehungsweise an Anwendungen weitergeben werden. Damit einhergehen auch genauere Fehlercodes, die der Entwickler Christoph Hellweg anderen üblichen Codes entlehnt hat. Ein Artikel bei LWN(öffnet im neuen Fenster) erläutert die genaue Vorgehensweise.

Im Übrigen haben die Kernel-Entwickler die Vergabe von Universally Unique Identifiers (UUIDs) konsolidiert. Jetzt gibt es nur noch zwei Typen, zahlreiche Funktionen wurden zusammengefasst und diverse Subsysteme an die neue API angepasst. Für Anwender bleiben diese Änderungen aber weitgehend unsichtbar.

Schlafmodi und Treiberunterstützung

Um dem Linux-Kernel die Entscheidung zu erleichtern, wann er den Prozessor in welchen Schlafmodus schicken soll, gibt es jetzt Next-interrupt prediction. Der Algorithmus soll besser voraussagen können, wann Peripheriegeräte sich per IRQ melden. Zudem wurde die PCI/ACPI-Infrastruktur verbessert, über die Geräte das System aus dem Schlafmodus aufwecken können.

Außerdem wird die aktuelle CPU-Frequenz auf x86-System nicht mehr in /proc/cpuinfo exportiert, da die Informationen zu unzuverlässig sind. Stattdessen werden diese Werte künftig ausschließlich über Sysfs exportiert und zwar auch unabhängig davon, welcher Cpufeq-Treiber verwendet wird. Zudem wurde der Treiber für Intels P-States überarbeitet und verbessert.

Apropos ACPI: Das in Linux bereits verwendete Windows Management Instrumentation (WMI) bekommt jetzt einen eigenen Bus. WMI wird vor allem benötigt, um Informationen bestimmter Hardware aus der ACPI-Tabelle des BIOS auszulesen. Diese Informationen stehen vor allem für spezielle Funktionen auf Laptops zur Verfügung. Treiber können darauf zugreifen, um beispielsweise die Helligkeit zu steuern oder spezielle Tastaturbefehle zur Verfügung zu stellen.

Canonicals großes Update für das Sicherheits-Framework AppArmor hat es nach einigem Hin und Her endlich in den Kernel geschafft. Zu den neuen Funktionen gehören etwa symbolische Links für SecurityFS sowie die Möglichkeit des Domain-Labeling.

Bleibt es bei der üblichen sechswöchigen Testphase, wird die finale Version von Linux 4.13 Ende September 2017 freigegeben. Die aktuelle Testversion kann unter kernel.org(öffnet im neuen Fenster) heruntergeladen werden.


Relevante Themen