Linux 5.0 ist da: Geschwindigkeit zurückerobern und moderner speichern

Seite 5: Viele neue Treiber, endlich Support für big.LITTLE im Prozess-Scheduler

Inhaltsverzeichnis

Die Entwickler haben ferner den Hardware-Support wieder signifikant erweitert, denn sie haben Dutzende neuer Treiber integriert und Hunderte existierende verbessert. Alles aufzulisten würde den Rahmen sprengen, daher folgen nur einige Beispiele.

Der neue Kernel unterstützt etwa die Touch-Funktion des 7-Zoll-Touch-Displays für den Raspberry Pi, das raspberrypi.org vertreibt. Neu dabei ist auch ein Treiber für das Cougar 700K Gaming Keyboard. Ferner haben die Entwickler den Support für Mäuse mit hochauflösendem Scrollrad verbessert, die unter anderem Logitech vertreibt (u. a. 1, 2, 3, 4). Das klingt nach einer simplen Änderung, hat aber viel Forschungsarbeit erfordert, wie ein Blog-Eintrag des Entwicklers Peter Hutterer zeigt; dort erwähnt er auch, dass das Feature bei einigen neueren Mäusen von Microsoft vermutlich nicht unterstützt wird.

Die neue Kernelversion kann bereits die Temperatur der zweiten Generation von AMDs Zen-Prozessorkernen auslesen. Linux 5.0 unterstützt zudem die Audio-Einheit einiger neuer Ryzen-G-Prozessoren besser und weiß weitere Varianten der VEGA-Grafikchipfamilie von AMD anzusprechen. Der Amdgpu-Treiber beherrscht nun auch Adaptive Backlight Management (ABM), das den Stromverbrauch mancher Displays senken kann. Die neue Linux-Version bringt ferner Basis-Support für GPUs aus Nvidias Turing-Reihe, die bei der GeForce-RTX-2000-Serie zum Einsatz kommt (1, 2, 3, 4).

Neu dabei ist auch ein Treiber für einen AQtion 2.5/5-Gbit-USB-Ethernet-Adapter von Aquantia. Der Thunderbolt-Treiber beherrscht jetzt die von neueren Systemen vielfach verwendete Konfiguration, bei dem der Anwender sich nicht mit der Frage herum plagen muss, inwieweit er angesteckten Geräten vertraut. Das ist möglich, weil solche Systeme den Speicherbereich des Controllers mit einer IOMMU (Input/Output Memory Management Unit) isolieren; Thunderbolt-Geräte können dadurch nur noch auf den ihnen zugewiesenen Bereich des Arbeitsspeichers zugreifen und nicht mehr den gesamten RAM per DMA einsehen.

Eine Reihe anderer signifikant verbesserter oder neuerer Treiber nennen die Git-Merge-Kommentare der Subsysteme Bluetooth, Char, DRM Human Interface Devices (HID), Input, Hardware Monitoring, Media (1, 2), RDMA, Sound, USB und x86 Platform drivers. Auch das ist übrigens nur die Spitze des Eisbergs, denn es gibt noch einige Dutzend weniger geläufiger Subsysteme, bei denen die Entwickler die Hardware-Unterstützung verbessert haben.

Entfernt haben die Kernelmacher indes den ISDN-Treiber "Eicon", der stark wartungsbedürftig war, weil sich seit langem niemand mehr um ihn gekümmert hat.

EAS soll den Stromverbrauch senken und zugleich die Performance steigern.

(Bild: community.arm.com: Energy Aware Scheduling (EAS) in Linux 5.0 )

Das neue Energy Aware Scheduling (EAS) soll helfen, den Energieverbrauch bei Prozessoren mit ARMs big.LITTLE zu senken, in denen CPU-Kerne mit unterschiedlichem Leistungspotenzial und Energiehunger stecken (1, 2, 3, 4, 5). Durch EAS kann der Scheduler bekanntermaßen simple und kurzlebige Prozesse mit schwachen und dadurch sparsamen Kernen ausführen, während er rechenintensive gleich stärkeren zuteilt, die mehr Strom fordern.

Ohne eine Lösung wie EAS verbrauchen solche SoCs mehr Strom als nötig und spielen zugleich ihr Performance-Potenzial nicht aus. Mit solchen SoCs bestückte Android-Geräte bringen daher meist einen der vielen Vorläufer von EAS mit, die in den vergangenen sieben Jahren entstanden. Keiner davon konnte allerdings die Ansprüche der Entwickler des Prozess-Schedulers erfüllen. EAS hat das jetzt geschafft – ist aber auch bewusst simpel gehalten, daher bietet es noch viel Raum für Verbesserungen, an denen bereits gearbeitet wird.

Kernel-
Version
Anzahl
Dateien¹
Zeilen
Quelltext
(Ohne
Doku)²
Entwick-
lungs-
zeitraum
Commits
(Ohne
Merges)³
Diffstat⁴
Linux 4.14 61.290 25.041.284
(23.050.486)
70 Tage 14.659
(13.452)
23.388 files changed,
 719.862 insertions(+),
 445.585 deletions(-)
Linux 4.15 62.303 25.364.802
(23.329.451)
77 Tage 16.223
(14.866)
13.265 files changed,
 643.912 insertions(+),
 320.289 deletions(-)
Linux 4.16 62.915 25.558.805
(23.495.643)
63 Tage 14.896
(13.630)
12.239 files changed,
 1.133.069 insertions(+),
 939.066 deletions(-)
Linux 4.17 61.362 25.379.564
(23.314.368)
63 Tage 14.745
(13.541)
14.504 files changed,
 777.301 insertions(+),
 956.941 deletions(-)
Linux 4.18 61.003 25.280.872
(23.183.236)
70 Tage 14.432
(13.283)
13.141 files changed,
 583.336 insertions(+),
 682.028 deletions(-)
Linux 4.19 61.734 25.588.455
(23.449.221)
70 Tage 15.204
(14.043)
11,693 files changed,
 552.223 insertions(+),
 244.235 deletions(-)
Linux 4.20 62.481 25.955.520
(23.776.585)
63 Tage 14.995
(13.844)
11.402 files changed,
 685.027 insertions(+),
 317.959 deletions(-)
Linux 5.0 63.135 26.203.035
(23.933.016)
70 Tage 13.921
(12.808)
12.100 files changed,
 579.084 insertions(+),
 331.570 deletions(-)
¹ git ls-tree -r --name-only HEAD | wc -l
² find . -type f -not -regex '\./\.git/.*' | xargs cat | wc -l; echo "($(find . -name *.[hcS] -not -regex '\./\.git/.*' | xargs cat | wc -l))"
³ git-log --pretty=oneline vx.(y-1)..vx.(y) | wc -l; echo "($(git-log --pretty=oneline --no-merges vx.(y-1)..vx.(y) | wc -l))"
⁴ git diff --shortstat vx.(y-1)..vx.(y)
Mehr Infos

Den neuen Linux-Kernel herunterladen und einrichten

Die neue Linux-Version steht wie gewohnt über Kernel.org zum Download bereit. Auf Kernel.org finden Sie auch eine Anleitung, wie Sie die Quellen auf Authentizität und Unversehrtheit prüfen.

Hinweise zur Einrichtung eines eigenen Kernels finden Sie im Artikel "Linux-Kernel maßgeschneidert". Das darin beschriebene Make-Target make localmodconfig erzeugt weitgehend automatisch eine recht gut auf Ihr System zugeschnittene Kernel-Konfiguration, mit der Sie in wenigen Minuten eine neue Linux-Version einrichten können.

Fedora und Rolling-Release-Distributionen wie Arch Linux, Gentoo und OpenSuse Tumbleweed dürften die neue Linux-Version in den nächsten Wochen im Rahmen der regulären Systemaktualisierung erhalten. Bei bereits erhältlichen Releases von Debian, OpenSuse Leap, Ubuntu und vielen anderen klassisch gewarteten Distributionen macht der Kernel normalerweise keine größeren Versionssprünge; deutlich neuere Kernel erhält man dort meist erst beim Wechsel auf eine neuere Version der Distribution.

Mehr Infos

Versionshistorie dieses Artikels

  • 2019-03-04, 06:25 – v1.1: Anlässlich der Freigabe von Linux 4.20 einen Kurzüberblick der wichtigsten Neuerungen am Anfang hinzugefügt.
  • 2019-02-20, 06:00 – v1.0: Erste Version.

Der Newsticker von heise online erwähnt alle größeren Texterweiterungen, auf die auch der Twitter-Account @kernellog hinweist.

(thl)