Die Neuerungen von Linux 4.4
Seite 5: Qt5-Port, Langzeit-Pflege und Ausblick auf 4.5
Optimierungen am Memory Management
Eine Reihe von Änderungen am Speichermanagement-Code soll dessen Performance und Robustheit verbessern. Eine von ihnen entfernt etwa eine Cache-Funktion, die sich als störend statt hilfreich entpuppte. In einem Test des Entwicklers reduzierte dieser Schritt eine Latenz in einem Lasttest von 24 auf 12 Sekunden; weitere Details erläutert LWN.net.
Xconfig jetzt mit Qt5
Zur grafischen Konfiguration eigener Kernel über make xconfig
benötigt man jetzt die Entwicklerdateien von Qt4 oder Qt5, denn die Kernel-Hacker haben die auf Qt3 aufbauende Variante des Konfigurationswerkzeugs entfernt und eine Qt5-Variante eingepflegt (u. a. 1, 2).
Langzeit-Pflege
Anders als in der jüngsten Vergangenheit wurde diesmal vorab angekündigt, dass Linux 4.4 ein "Longterm-Kernel" wird. Die Kernel.org-Entwicker wollen ihn daher nicht nur knapp drei Monate, sondern bis mindestens Januar 2018 mit Fehlerkorrekturen und kleineren Verbesserungen versorgen. In Zukunft soll wohl immer die jeweils im Januar aktuelle Linux-Version zu einem Longterm-Kernel werden, was Firmen die Planung erleichtern soll. Weitere Hintergründe liefern die heise open-Meldung zur Langzeitpflege beim Linux-Kernel 4.4 und ein Bericht beim LWN.net.
Ausblick
Mit der Freigabe von Linux 4.4 hat zugleich die Phase begonnen, in der Linus Torvalds das Gros der Änderungen für Linux 4.5 aufnimmt; dieses "Merge Window" beendet er typischerweise nach zwei Wochen, wenn er die erste Vorabversion der nächsten Kernel-Version veröffentlicht.
Unter den zur Aufnahme vorgesehenen Änderungen sind unter anderem Erweiterungen für den Grafiktreiber Amdgpu, die Unterstützung für PowerPlay nachrüsten. Der Treiber soll dadurch die sparsamsten und schnellsten Betriebsmodi von Grafikkarten aktivieren können, auf denen Grafikprozessoren der Volcanic-Island-Generation sitzen. Radeon-Grafikkarten wie die R9 380X oder die Modelle der R9-Fury-Reihe sollten dadurch deutlich mehr 3D-Performance bieten: Bislang liefen sie mit den beim Booten eingestellten Standard-Taktfrequenzen und konnten ihr Leistungspotenzial so bei weitem nicht ausspielen.
Sofern Torvalds und seine Mitstreiter im gewohnten Tempo arbeiten, sollte der Linux-Kernel 4.5 in der ersten Märzhälfte erscheinen.
Neuen Linux-Kernel herunterladen und einrichten
Die neue Linux-Version steht über Kernel.org zum Download bereit. Hinweise zur Einrichtung eines eigenen Kernels finden Sie im heise open-Artikel "Linux-Kernel maßgeschneidert", der eine weitgehend automatische Kernel-Konfiguration mit Hilfe von make localmodconfig
beschreibt.
Fedora und Rolling-Release-Distributionen wie Arch, Gentoo und OpenSuse Tumbleweed sollten die neue Kernel-Version in den nächsten Wochen als reguläres Update erhalten. Solche Kernel-Updates gibt es bei Ubuntu und vielen anderen Distributionen nicht; der für Ubuntu 16.04 vorgesehene Kernel soll allerdings auf Linux 4.4 aufbauen.
Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels
Kernel- Version |
Anzahl Dateien¹ |
Zeilen Quelltext (Ohne Doku)² |
Entwick- lungs- zeitraum |
Anzahl Commits³ |
Diffstat⁴ |
Linux 3.18 | 47986 |
18994096 (17586160) |
63 Tage | 12361 |
9303 files changed, 485509 insertions(+), 355800 deletions(-) |
Linux 3.19 | 48440 |
19130604 (17692109) |
63 Tage | 13652 |
10739 files changed, 483355 insertions(+), 346843 deletions(-) |
Linux 4.0 |
48957 |
19312370 (17847304) |
63 Tage |
11306 |
9489 files changed, 508686insertions(+), 326917 deletions(-) |
Linux 4.1 | 49457 |
19512485 (18004436) |
70 Tage | 12965 |
10094 files changed, 453375 insertions(+), 253259 deletions(-) |
Linux 4.2 | 50795 |
20311717 (18755735) |
70 Tage | 14750 |
10926 files changed, 1079245 insertions(+), 280008 deletions(-) |
Linux 4.3 | 51570 |
20621444 (19031051) |
63 Tage | 13282 |
10385 files changed, 642760 insertions(+), 333026 deletions(-) |
Linux 4.4 | 52221 |
20862115 (19243827) |
70 Tage | 14082 |
10604 files changed, 713754 insertions(+), 470774 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 ⁴ git diff --shortstat vx.(y-1)..vx.(y) |