/ OSS / Betriebssysteme: Linux 4.12 erhält neue Scheduler

Betriebssysteme: Linux 4.12 erhält neue Scheduler

127817-139770-i_rc.jpg
Gerfried Steube on May 26, 2017 - 9:40 am in OSS

Linus Torvalds hat mit der Freigabe der ersten Vorabversion von Linux 4.12 das Zeitfenster geschlossen, in dem Änderungen oder Neuerungen eingereicht werden können. Torvalds bezeichnet den aktuellen Entwicklungszyklus als recht ruhig. Zu den auffälligsten Neuerungen gehören zwei neue Steuerprogramme für Datenzugriffe auf Speichergeräte. Viel Arbeit floss in den AMDGPU-Treiber und Linux kommt jetzt mit USB-Typ-C-Geräten klar.


Bessere Steuerung

Nachdem im vorangegangenen Linux-Kernel die Block-Schnittstelle für Speichergeräte die Unterstützung für mehrfache Warteschleifen (Multiqueuing) erhalten hat, bekommt der aktuelle Kernel gleich zwei neue Steuerprogramme, die diese Funktion nutzen: Budget Fair Queuing (BFQ) und Kyber I/O Scheduler. Ersterer hatte eine lange Entwicklungszeit und musste für die Aufnahme in Linux 4.12 ebenfalls um Multiqueuing erweitert werden. BFQs Algorithmen sorgen für ausgewogenere Zugriffe besonders auf rotierenden Datenträgern, etwa indem sie jedem Prozess, der auf die Datenträger zugreift, ein begrenztes Ein- und Ausgabebudget gewähren. Aber auch bei langsameren statischen Datenträgern soll BFQ sowohl lesende als auch schreibende Zugriffe beschleunigen können. BFQ ist jedoch recht komplex und hat einen recht großen Overhead.

Für die moderneren schnelleren SSDs gibt es deshalb das neue und einfach gehaltene Steuerungsprogramm Kyber I/O Scheduler. Es teilt zunächst Ein- und Ausgaben in jeweils eine von insgesamt zwei Warteschleifen, die zudem möglichst kurz gehalten werden. Dazu misst der Algorithmus, wie lange die jeweiligen angeforderten Operationen benötigen. Die kurzen Warteschleifen sollen vor allem dafür sorgen, dass Anfragen mit hoher Priorität möglichst schnell abgearbeitet werden können. Wer auf einen möglichst effizienten Datendurchsatz setzt, wird sich für Kyber entscheiden wollen, wer hingegen schnellere Antwortzeiten auch bei langsameren Datenträgern will, kann auf BFQ zurückgreifen. Allerdings müssen noch diverse Blocklayer-Treiber mit Multiqueue ausgestattet werden. Bis dahin gibt es weiterhin den längst etablierten CFQ-Scheduler. Laut ersten Benchmarks bei Phoronix beschleunigen ohnehin keine der Scheduler Datenzugriffe auf NVMe SSDs.

Mehr Datensicherheit

Der Device-Mapper-Treiber bekommt ein neues Block-Gerät namens dm-integrity. Darüber lassen sich Metadaten speichern, die zusammen mit dem ebenfalls neuen Cryptographic Data Integrity Protection dafür sorgen, dass der Linux-Kernel erkennen kann, wenn Daten auf verschlüsselten Volumes verändert wurden, ohne dass ein gültiger Schlüssel verwendet wurde.

Der Treiber für Ext4-Dateisysteme soll verteilte Schreiboperationen beschleunigen und auch die Leistung bei sehr großen Partitionen verbessern. Beim Btrfs-Treiber wurden weitere Probleme bei der eigenen Raid-5- und -6-Implementierung beseitigt, die aber weiterhin als instabil eingestuft wird. Im MD-Subsystem für die Raid-Unterstützung des Kernels wurden ebenfalls einige Änderungen umgesetzt, die zum einen die Wiederherstellung von Raid-5-Systemen beschleunigen und zum anderen die Leistung von Raid-5- und -6-Verbünden verbessern soll.

Bessere Grafik

Wieder hat der AMDGPU-Treiber die größten Änderungen erlebt. Unter anderem werden jetzt mehrstufige Seitentabellen unterstützt (Multi-Level Page Table). Zudem kann die neue Treiberversion Partially Resident Textures darstellen. Diese hochaufgelösten Texturen werden nur dann in Echtzeit von einer Spiele-Engine dargestellt, wenn sie tatsächlich im Blickfeld des Nutzers erscheinen. So wird der Speicher der Grafikkarte entlastet. Zudem gibt es ersten Code für AMDs neue Vega-Architektur. Der Code dient zunächst lediglich den Berechnungen auf den GPUs, für die Ausgabe auf Bildschirmen muss noch weiterer Code nachgereicht werden. Das soll erst in späteren Kernel-Versionen erfolgen.

Der Treiber für Intels Ironlake-Grafikchips erhält endlich die Unterstützung für die Atomic-Mode-Settings des Kernels. Damit kann der Linux-Kernel große Teile der Fensterverwaltung auf dieser Hardware übernehmen. Der Nouveau-Treiber unterstützt die 3D-Beschleunigung auf den GTX-1000er-Grafikchips von Nvidia. Dafür ist aber die signierte Firmware von Nvidia nötig, sie ist mangels Reclocking noch langsam. Ebenfalls mit Atomic-Mode-Settings wurde VMwares Grafiktreiber ausgestattet. Damit wird die Darstellung von Linux-Gastsystemen beschleunigt. Besitzer eines Raspberry Pi dürfen sich über den erweiterten Grafiktreiber VC4 freuen: Darüber kann jetzt auch Audio per HDMI ausgegeben werden. Schließlich kommt Linux 4.12 auch mit externen Grafikkarten zurecht, die über einen Thunderbolt-Anschluss laufen.

Mehr USB

Mit Linux 4.12 kommt die Unterstützung für USB-Typ-C in Form einer Portverwaltung, der die korrekte Leistungsaufnahme der jeweiligen Anschlüsse bereitstellt. Dazu gibt es einen ersten Low-Level-Treiber für Intels Whiskey-Cove-USB-Chip. Diese Low-Level-Treiber sorgen für die vollständige Verbindung zu den jeweiligen Typ-C-USB-Geräten. Der Alternate-Modus etwa für den Anschluss von Bildschirmen ist jedoch noch nicht vollständig.

Ab sofort beginnt die normalerweise sechs Wochen andauernde Testphase für Linux 4.12. Bleibt es dabei, erscheint der nächste Linux-Kernel Ende Juni. Die Vorabversion kann bei kernel.org heruntergeladen werden.

Read more on: Source

Comments are disabled