/ OSS / Ausblick auf Linux 4.12: Live-Patching-Optimierungen und Support für neue Radeon-GPUs

Ausblick auf Linux 4.12: Live-Patching-Optimierungen und Support für neue Radeon-GPUs

Moritz Rosenfeld on May 6, 2017 - 6:35 pm in OSS

Der Anfang Juli erwartete Linux-Kernel 4.12 soll die nächste Grafikprozessor-Generation von AMD unterstützen – allerdings nicht komplett. Ein neues RAID-5-Feature verspricht Daten vor Verfälschungen zu schützen, die bei Abstürzen entstehen können.

Nach der Freigabe von Linux 4.11 am Montagmorgen hat zugleich die heiße Entwicklungsphase von Linux 4.12 begonnen. Zur Aufnahme sind unter anderem Änderungen am Kernel Live Patching (KLP) vorgesehen, mit dem sich Sicherheitslücken im Kernel beheben lassen, ohne das System neu starten zu müssen. Bislang klappt das nur bei zirka 90 Prozent der typischen Lücken. Durch die vorgesehenen und einige noch zu entwickelnde Änderungen soll es möglich werden, auch die meisten anderen Lücken zur Laufzeit korrigieren zu können.

Ein bisschen Support für Vega-GPU von AMD

Zur Aufnahme vorgesehen sind eine Reihe größerer Änderungen, um AMDs Grafikprozessoren der neuen “Vega”-Architektur zu unterstützen. Diese sollen auf neuen Radeon-Grafikkarten sitzen, die AMD noch im ersten Halbjahr einführen will – also noch vor dem neuen Kernel, denn der dürfte Anfang Juli fertig werden. Für Endanwender wird der Vega-Support im Kernel aber fürs Erste weitgehend wertlos sein, denn der Treiber kann bislang keine Monitore ansteuern. Letztlich gelingt daher vorerst nur ein “Headless”-Betrieb, der etwa zum Rechnen mit Grafikprozessoren interessant ist.

Schuld daran: AMDs Open-Source-Entwickler haben zum Support neuer GPUs einen Weg eingeschlagen, der einigen Kernel-Entwicklern missfallen hat. Es gibt nämlich durchaus Kernel-Patches, durch die der Treiber auch Bilder über Vega-Grafikkarten ausgeben kann. Diese Kernel-Änderungen bauen allerdings auf dem DC genannten Code von AMD auf, der seit einer Weile zirkuliert und anfangs DAL (Display Abstraction Layer) hieß. Er kann auch für manche der bereits seit Monaten verkauften Grafikkarten interessant sein, denn dort arbeiten HDMI-Audio und einige andere Funktionen nur mit DC.

Der für das Grafiktreiber-Subsystems des Linux-Kernels zuständige Entwickler hat die Aufnahme von DAL aber von Anfang an abgelehnt, weil der Code seinen Qualitätsansprüchen nicht genügt. Ein Grund für diese Einstellung: Er und einige andere wichtige Entwickler stufen DAL/DC als unnötige Abstraktionsschicht ein, die Wartung und Weiterentwicklung mehr schaden als helfen würde.

Problemlösung im Gange

Einige AMD-Mitarbeiter wollten das anfangs nicht einsehen, daher entstanden verschiedene längere Diskussionen. AMD hat die Gegenwehr aber aufgegeben und überarbeitet den Code seit mehreren Monaten, damit er den Qualitätsansprüchen genügt und in den Kernel einziehen kann. Bis das passiert, dürften aber noch weitere Monate vergehen, denn die dazu nötigen Umbauten sind aufwendig.

Wer Grafikkarten mit Vega-GPUs zur Bildausgabe nutzen will, muss daher auf Code aus Entwicklerzweigen von AMDs Open-Source-Entwicklern zurückgreifen oder AMDs Treiberpaket “AMDGPU-PRO” einsetzen. Letzteres enthält allerdings einige proprietäre Treiber und unterstützt lediglich sechs Distributionen; darunter zwar Ubuntu 16.04.2, aber noch nicht einmal Ubuntu 17.04. Manchmal funktioniert das Treiberpaket allerdings auch auf Distributionen, obwohl AMD diese offiziell nicht unterstützt. Sie führen dort allerdings auch zu kleineren oder größeren Problemen oder funktionieren gar nicht; vor allem die Kombination mit aktuellen Kernel-Versionen scheitert oft.

Mehr Sicherheit für RAID 5

Zur Aufnahme bereit liegt auch Code, durch den der Kernel die Datenintegrität eines RAID 5 auch im Falle von Abstürzen gewährleisten könne. Bei solchen können Daten durch das “Write Hole” in Mitleidenschaft gezogen werden. Dagegen kann man sich seit Linux 4.4 schützen, indem man das RAID mit einem “Log-Device” koppelt; seit Linux 4.10 kann dieser zusätzliche Datenträger sogar als Cache-Datenträger dienen und so die Geschwindigkeit steigern. Die für 4.12 vorgesehene Lösung verlangsamt die Datenverarbeitung hingegen – dafür braucht man beim “Partial Parity Log for MD RAID 5” keinen zusätzlichen Datenträger.

Ferner sollen in Linux 4.12 auch noch Änderungen einfließen, über die sich die 3D-Beschleunigung von Nvidias GeForce-1000-Serie nutzen lassen soll. Zur Aufnahme sind auch Änderungen vorgesehen, durch die der Kernel auf x86-64-Systemen bis zu 1024 Terabyte (1 Petabyte) Arbeitsspeicher ansteuern kann. Bereits für 4.12 aufgenommen wurde eine Variante des in Tuning-Kreisen beliebten I/O-Scheduler BFQ. Grundlagen für all diese Verbesserungen finden sich bereits in Linux 4.11, daher liefert das unten verlinkte Kernel-Log zu Linux 4.11 bereits Details zu diesen Features.

Linux 4.12 dürfte Ende Juni erscheinen

Wie gewohnt integriert Linus Torvalds das Gros der für 4.12 vorgesehenen Änderungen in den nächsten Tagen im Rahmen des “Merge Window”. Diese Entwicklungsphase beendet er typischerweise nach zwei Wochen, wenn er die erste Vorabversion des nächsten Kernels veröffentlicht. Das läutet zugleich die meist sieben oder acht Wochen lange Stabilisierungsphase ein. Linux 4.12 dürfte daher am 3. oder 10 Juli erscheinen, sofern Torvalds und seine Mitstreiter im gewohnten Tempo arbeiten.

Zu den in Linux 4.11 eingeflossenen Verbesserungen siehe auch:

  • Die Neuerungen von Linux 4.11 – Kernel-Log bei c’t online

(thl)

Read more on: Source

Comments are disabled