Linux 5.3 freigegeben: Prioritäten deckeln und Trouble für Nvidia

Der neue Kernel schaufelt 16 Millionen weitere IPv4-Adressen frei, indem er ein Relikt ad acta legt. Den ISDN-Support stutzen die Entwickler zusammen. Zum Ausgleich bekommt Linux eine Funktion für Zeitreisen.

In Pocket speichern vorlesen Druckansicht 536 Kommentare lesen
Linux Kernel 5.3
Lesezeit: 29 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Linus Torvalds hat zum Wochenstart den Linux-Kernel 5.3 freigegeben. Wie jede neue Version der Hauptentwicklungslinie von Linux bringt auch die neueste weit über zehntausend Änderungen. Einige rüsten neue Features nach, andere verbessern existierende. Die wichtigsten dieser Neuerungen im Kurzüberblick, bevor der Text in die Details geht:

  • Admins oder Entwickler können einzelne Programme jetzt speziell auszeichnen, um deren Reaktionsfreude zu steigern; alternativ kann man damit auch die Leistungsaufnahme des Systems reduzieren.
  • Weil es bei älteren AMD-CPUs ein bekanntes Problem bei der Zufallszahlenanforderung per RDRAND() gibt, versteckt der Kernel fortan die Verfügbarkeit dieser x86-Instruktion.
Das Kernel-Log
  • Nvidias proprietäre Linux-Treiber dürften auf Systemen mit Power-Architektur nicht mehr rund laufen. Das passiert zufällig zu einer Zeit, in der sich Nvidia der Open-Source-Gemeinde zumindest ein klein wenig weiter zu öffnet; wie stark und wie weit, muss sich noch zeigen.
  • Linux 5.3 unterstützt AMDs neue Grafikchip-Generation Navi10, die im Juli mit der Radeon RX-5700-Serie debütierte. Support für weitere Navi-GPUs soll bei Linux 5.4 folgen.
  • Die neue "Zeitreisen"-Funktion kann automatisierte Tests beschleunigen.
  • Das vor allem für Firewalls verwendete Netfilter-Subsystem kann einige Arbeiten jetzt an entsprechend taugliche Hardware delegieren.
  • Linux 5.3 unterstützt IPv4-Adressen aus dem Bereich 0.0.0.0/8 und macht so rund 16 Millionen weitere Adressen verfügbar.
  • Die Entwickler haben zwei von drei ISDN-Infrastrukturen des Kernels entfernt.
  • Linux läuft jetzt auch auf der x86-Prozessorarchitektur der chinesischen Firma Zhaoxin.
  • Dank vieler neuer und überarbeiteter Treiber wird Linux 5.3 den Hardware-Support wieder verbessern. Dadurch laufen etwa Asus-Gaming-Notebooks der TUF-Reihe jetzt besser mit Linux. Bei einigen Einplatinencomputern mit Allwinner-Chip lässt sich das Decodieren von H.264-Videos nun an die Hardware delegieren. Bei neueren Macs funktionieren jetzt Tastaturen und Touchpads unter Linux. Und Intels Grafiktreiber beherrscht jetzt die Bildschirm-Ansteuerung mit HDR (High Dynamic Range).
  • Um Plattenplatz zu sparen, dürfen jetzt die Firmware-Dateien gepackt vorliegen, die viele Treiber bei der Hardware-Initialiserung brauchen.
  • Beim Schreiben von Programmen für die BPF Virtual Machine des Kernels können Entwickler jetzt Schleifen verwenden, wie man es aus anderen Programmiersprachen kennt.
  • Durch Aufnahme einer kleinen Änderung hat Linus Torvalds signalisiert, in nächster Zeit die im Realtime-Zweig (RT-Tree) entwickelten Änderungen aufnehmen zu wollen, die Linux zu Echtzeitfähigkeiten verhelfen.

Die folgenden Absätze und Artikelseiten liefern zahlreiche wichtige Details zu diesen und zahlreichen weiteren Neuerungen von Linux 5.3.

Nvidias proprietäre Linux-Treiber laufen auf Systemen mit Power-Architektur nicht mehr, weil die Linux-Entwickler einige von den Treibern bislang genutzte Andockpunkte entfernt haben (u. a. 1, 2, 3, 4). Das erfolgte bei Aufräumarbeiten, denn einem Entwickler war aufgefallen, dass der im Kernel enthaltene Code diese Modul-Exporte gar nicht benötigt. Dass Nvidias proprietärer Grafiktreiber für Power-Systeme dort andockte, hat die Linux-Entwickler nicht von den Aufräumarbeiten absehen lassen: Aus ihrer Sicht geht es um eine Kernel-interne Schnittstelle und eben nicht um ein Userspace-API, bei dem dergleichen tabu wäre.

Greg Kroah-Hartman unterstrich: Bei Aufräumarbeiten wird keine Rücksicht auf externe Treiber genommen.

(Bild: LKML-Archiv )

Bei in der Diskussion um die Entfernung schalten die Entwickler sogar Greg Kroah-Hartman ein, der als zweitwichtigster Linux-Entwickler gilt und sinngemäß schrieb: Nicht im offiziellen Linux-Kernel enthaltene Treiber sind [bei solch einer Entfernung/Entscheidung] nicht relevant. Nvidia muss daher jetzt sehen, wie es ohne die Eingriffspunkte auskommt, wodurch sich die Performance von Tesla-Beschleunigern in Power-Systemen für HPC (High Performance Computing) verschlechtern könnte.

Mehr Infos

Bessert sich Nvidia?

Nvidia öffnet sich ein wenig: Die Firma hat kürzlich Details zur Programmierung aktueller Grafikchipgenerationen unter einer Open-Source-Lizenz auf Github veröffentlicht. Das erleichtert Open-Source-Entwicklern die Arbeit, auch wenn wichtige Informationen erst noch folgen sollen.

Bislang hat Nvidia bei Open-Source-Entwicklern einen eher schlechten Ruf. Kein Wunder, denn anders als AMD und Intel treibt das Unternehmen quelloffene Linux-Treiber für seine PC-Grafikchips nicht selbst voran. Das Unternehmen hilft auch sonst nur unwesentlich und hat bislang Details zur Treiberprogrammierung wie Staatsgeheimnisse gehandhabt. Linux-Entwickler müssen daher viel mit Reverse Engineering arbeiten, was einer der Hauptgründe ist, warum die von Distributionen standardmäßig eingerichteten Kernel- und OpenGL-Treiber "Nouveau" viele Schwächen haben; sie machen beispielsweise nur einen Teil der 3D-Leistung locker und unterstützen längst nicht alle Funktionen der GeForce-Chips.

Letztlich ist aber mehr nötig, bevor sich diese problematische Situation signifikant verbessern kann. Für ordentliche Open-Source-Treiber wäre es nämlich auch wichtig, den Linux- Distributoren endlich eine bessere Firmware an die Hand zu geben: Die derzeit von Nvidia bereitgestellte ist eher eine Krücke, denn mit ihr können Grafikchips weder in die sparsamsten noch die schnellsten Betriebsmodi schalten. Das ist derzeit der Hauptgrund, warum die Leistungsaufnahme vieler moderner GeForce-GPUs mit dem Nouveau-Treiber oft höher ist als mit dem proprietären Treiber, die 3D-Performance zugleich aber deutlich schlechter.

Die neue Linux-Version macht rund 16 Millionen weitere IPv4-Adressen verfügbar, denn sie gibt den Adressabschnitt 0.0.0.0/8 zur Nutzung frei. Diesen Block haben die Kernel-Entwickler schon seit der Frühzeit von Linux bewusst ausgespart, denn einige BSD-Varianten konnten solche Adressen vor über dreißig Jahren nicht richtig handhaben. Bis sich IPv4-Adressen aus diesem Bereich im Alltag störungsfrei nutzen lassen, dürften aber einige Jahre vergehen, schließlich müssen dazu alle bei der Kommunikation involvierten Systeme sie behandeln können.

Das vor allem für Firewalls verwendete Netfilter-Subsystem ist nun in der Lage, einige Aufgaben an entsprechend taugliche Netzwerkchips zu delegieren; das kann den Hauptprozessor entlasten und so die Performance steigern.

Der Code zur Netzwerkverkehrssteuerung per TC (Traffic Control) kann Pakete jetzt durch das Connection-Tracking-Modul schleusen, um so neue und bestehende Verbindungen zu erkennen. Mit diesem Wissen lassen sich die Daten dann gezielter weiterleiten und so Overhead vermeiden. Auch der Bridge-Code beherrscht jetzt Connection Tracking; dieser Ansatz soll besser funktionieren als die Emulationsschicht "br_netfilter", die Nutzer bislang oft für "Stateful Filtering" heranziehen.

Der Commit-Kommentar nennt mehrere Gründe, warum es dem ISDN-Support jetzt an den Kragen geht.

(Bild: git.kernel.org – 8a7e8ff8ce8a )

Entfernt haben die Entwickler den ISDN4Linux-Stack samt seines früher recht bekannten ISDN-Treibers Hisax. In der Begründung heißt es unter anderem: Der Code werde schon länger nicht mehr betreut und die meisten öffentlichen ISDN-Netzwerke seien mittlerweile abgeschaltet. Den jüngeren CAPI-Stack haben die Entwickler in den Staging-Bereich verlagert, denn auch er soll rausfliegen, wenn Nutzer nicht Einspruch erheben.

Bleiberecht hat hingegen der moderne mISDN-Stack, den die Telefonanlagen- und VoIP-Software Asterisk nutzt. Er unterstützt viele der Chips, die auch Hisax anzusprechen wusste.