Die Highlights von Linux 5.3: Realtime-Support im Anflug Update

Linux Kernel 5.3

Trends & News | Kernel-Log

Die Mitte September erwartete Linux-Version soll der Echtzeit-Unterstützung den Weg ebnen. Bei Power-Systemen wird Nvidias Treiber wohl nicht mehr funktionieren.

Support für AMDs neue Grafikchip-Architektur ist eines der Highlights von Linux 5.3. Die am 9. oder 16. September erwartete Kernel-Version wird zudem Wegbereiter für Echtzeit-Unterstützung (Realtime-Support) in Linux. In den Hauptentwicklungszweig des Kernels ist nämlich eine Änderung mit einer neuen Kernel-Konfigurationsoption eingeflossen, durch die man irgendwann einen "Fully Preemptible Kernel (Real-Time/RT)" bauen kann. Solche können Echtzeit-Anforderungen erfüllen – also garantieren, bestimmte Arbeiten selbst unter widrigen Bedingungen innerhalb einer vorher definierten Zeitspanne zu erledigen.

Die Änderungen mit der Konfigurationsoption CONFIG_PREEMPT_RT erweckt den Eindruck, als sei die seit knapp fünfzehn Jahren entwickelte Realtime-Linux-Patch-Sammlung PREEMPT_RT endlich in den offiziellen Kernel eingezogen. Viele in diesem "RT-Tree" entwickelten Anpassungen sind in den letzten Jahren schon in Linux umgezogen. Jetzt folgt die Konfigurationsoption – vieles andere, das für zeitgemäßen Echtzeit-Betrieb wichtig ist, verbleibt aber vorerst noch im RT-Tree.

Die neue Option zum Bau eines Realtime-Kernels zeigt sich bislang noch nicht, denn sie soll vor allem eines haben: Signalwirkung. (Bild: c't/Thorsten Leemhuis)

Die Konfigurationsoption zeigt sich zudem fürs Erste gar nicht. Ihre Integration ist aber trotzdem ein wichtiger Schritt vorwärts: Sie signalisiert der Welt, dass Torvalds & Co. in nächster Zeit auch die im RT-Tree verbliebenen Realtime-Patches integrieren wollen, obwohl Torvalds der Idee ursprünglich eher skeptisch gegenüber stand. Dadurch sollen vor allem Kernel-Entwickler, die sich nicht für die Realtime-Patches interessieren, motiviert werden, sich bei der Begutachtung und der Integration verbliebener Echtzeit-Änderungen des RT-Trees nicht quer zu stellen. Das sind zwar gar nicht mehr so viele, aber einige betreffen die zentrale und daher kritische Infrastruktur des Linux-Kernels, bei der die Entwickler besondere Vorsicht walten lassen.

Vielleicht folgen auch noch Patches für 5.3, durch die sich die Konfigurationsoption doch noch zeigt. Ungewiss bleibt indes, wie lange die Integration der im RT-Tree verbliebenen Anpassungen benötigen wird; dessen Entwickler hatten sich vergangenen Herbst vorgenommen, alles Wesentliche im Jahr 2019 in den offiziellen Linux-Kernel zu überführen. Die dazu verbleibende Zeit wird aber langsam knapp.

Neben dem Patch, der dem Realtime-Support den Weg bereiten soll, bringt Linux 5.3 noch zahlreiche andere bedeutende Neuerungen:

  • Das vor allem für Firewalls verwendete Netfilter-Subsystem kann einige Arbeiten jetzt an entsprechend taugliche Hardware delegieren, was den Hauptprozessor entlastet und den Durchsatz steigern kann.
  • Linux unterstützt jetzt auch IPv4-Adressen aus dem Bereich 0.0.0.0/8 und macht so rund 16 Millionen weitere Adresse verfügbar; Linux hat dieser Abschnitt bislang ausgespart, weil es in den Achzigern mit diesen Adressen einige Interoperabilitäts-Probleme mit BSD-Varianten gab.
  • Ext4 soll dank eines Cache jetzt etwas schneller arbeiten, wenn es die Groß- und Kleinschreibung ("Case Insensitivity") über das bei Linux 5.2 eingeführte "Casefold Feature" ignoriert .
Durch den Zeitreisen-Modus kann die Uhr in User Mode Linux langsamer oder schneller laufen. (Bild: Screenshot von git.kernel.org – 065038706f77 )
  • User Mode Linux (UML) bietet jetzt eine "Zeitreisen"-Funktion – allerdings keine echte, denn durch den neuen "Time Travel Mode" kann die Uhr in UML-Umgebungen nur langsamer oder schneller als real laufen. Dieses Feature ist zu Versuchszwecken gedacht, um etwa Tests zu beschleunigen, bei denen längere Wartezeiten mitgetestet werden sollen.
  • Nvidias proprietärer Linux-Treiber dürfte auf Systemen mit Power-Architektur nicht mehr laufen, denn die Betreuer des für PPC-Kernel-Codes haben bei Aufräumarbeiten einige Schnittstellen entfernt, die Kernel-intern nicht mehr verwendet weden (u. a. 1, 2, 3, 4, 5). Auf die hat sich aber Nvidias proprietärer Grafiktreiber für Power-Systeme stark verlassen. Darauf haben die zuständigen Kernel-Entwickler aber keine Rücksicht genommen, weil es aus ihrer Sicht um eine Kernel-interne Schnittstelle geht. Es wäre etwas anderes, wenn es um eine Schnittstellen zwischen Kernel und Anwendungen (dem Userspace-ABI) ginge: Änderungen, die existierende Programme stören, sind dort tabu.
  • Durch einen Cpufreq-Treiber für Raspberry Pi kann Linux jetzt selbst steuern, mit welcher Taktfrequenz der Prozessor des populären Einplatinencomputers läuft.
  • Der Linux-Kernel beherrscht jetzt die jüngst definierten x86-Instruktionen Umonitor, Umwait und Tpause, die Intel bei einigen neuen Prozessoren unterstützen will; Programme können mit diesen kurzzeitig warten, belasten die CPU dabei aber nicht mit unnützer Arbeit, wie es die bislang in solchen Situationen oft verwendeten Busy Loops tun.
  • Dank Support für die Intel Speed Select Technology (ISST) können Admins jetzt das Stromsparverhalten einiger modernen Xeon-Prozessoren besser an die jeweiligen Gegebenheiten und Bedürfnisse anpassen.
  • Die von viele Treibern bei der Initialisierung benötigten Firmware-Dateien dürfen jetzt auch komprimiert vorliegen, wodurch sich Plattenplatz sparen lässt.
  • Die Entwickler haben den ISDN4Linux-Stack samt seinem früher recht bekannten ISDN-Treibers Hisax entfernt. Der jüngere CAPI-Stack ist in den Staging-Zweig gewandert, denn auch bei ihm erwägen die Entwickler den Rausschmiss. Der mISDN-Support bleibt im Kernel. Details hierzu hat bereits das Kernel-Log zu Linux 5.2 erläutert.
  • Die Asus-Gaming-Notebooks der TUF-Reihe sollten mit Linux 5.3 besser funktionieren, weil der unter anderem für Tastaturbeleuchtung, Lüfterregelung und einige Funktionstasten zuständige Treiber Asus-Wmi diese Geräteserie jetzt unterstützt.
  • Der Video-Beschleunigungstreiber Cedrus kann nun auch das Decodieren von H264 an die Hardware delegieren. Dieser maßgeblich über eine Crowdfunding-Kampage vorangetriebene Treiber spricht die Video-Engine einiger Allwinner-Prozessoren an, die sich auf einer Reihe von Einplatinencomputern finden.
  • Intels Grafiktreiber kann bei der Bildschirm-Ansteuerung jetzt HDR (High Dynamic Range) verwenden. Damit Anwender das aber auch verwenden können, müssen Userspace-Programme und Desktops erst lernen, dieses Kernel-Feature auch zu nutzen; außerdem funktioniert es nur bei Prozessoren seit den Generationen Ice Lake und Gemini Lake.
  • Linux 5.3 wird dank vieler neuer und verbesserter Treiber den Hardware-Support verbessern. Dadurch wird jetzt auch AMDs neue Grafikchip-Generation Navi10 unterstützt, die kürzlich mit der Radeon RX-5700-Serie debütierte. Details hierzu finden sie auf der zweiten Seite dieses Kernel-Logs.

Sofern die Entwicklung dem üblichen Rhythmus folgt, dürfte Linux 5.3 in der Nacht auf den 9. oder 16. September erscheinen.

Schrittweise aktualisierter Text zu Linux 5.3

Die Neuerungen des am 9. oder 16 September erwarteten Linux 5.3 sind seit dem 22. Juli absehbar, denn da hat Linus Torvalds die erste Vorabversion dieser Kernel-Version freigegeben. Damit hat er wie üblich die "Merge Window" genannte Phase des Entwicklungszyklus abgeschlossen, in der er alle wesentlichen Umbauten für eine neue Kernel-Version vornimmt. Größere, erwähnenswerte Änderungen erfolgen danach nur in Ausnahmefällen; es passiert auch äußerst selten, dass er umfangreiche, im Merge Window integrierte Änderung vor der Fertigstellung wieder deaktiviert oder gar entfernt.

Die c't kann in diesem Kernel-Log daher schon jetzt Details zu den Neuerungen der nächsten Linux-Version beschreiben. Da es so viele Änderungen in verschiedenen Bereichen sind, erweitern wir den Text zwischen Erstpublikation und der Fertigstellung des neuen Kernels mehrfach, um die wesentlichen Änderungen schrittweise in leichter handhabbaren Mengen zu erläutern. Der Artikel beschreibt deshalb bislang nur einige Highlights von Linux 5.3; es folgen noch Texterweiterungen, die sich den Neuerungen bei Grafiktreibern, Infrastruktur, Dateisystemen & Storage, Netzwerk-Unterstützung und Sicherheit näher widmen und dabei weitere Details zu den Highlights liefern.

Der Newsticker von heise online und der Twitter-Account @kernellog erwähnen größere Erweiterungen des Kernel-Logs zur nächsten Linux-Version. Das neueste Update finden Sie immer auf der ersten Artikelseite, ältere Textpassagen auf den folgenden Seiten. Details zur Versionshistorie des Artikels liefert das Changelog am Artikelende.

Kommentare

Anzeige