Die Neuerungen von Linux 3.5

Seite 3: Fazit, Trends

Inhaltsverzeichnis

Die Kernel-Version 3.5 bringt Verbesserungen für drei Funktionsbereiche, in denen Linux lange größere Defizite zeigte: In Zeiten von Optimus-Notebooks und USB-Monitoren ist eine saubere Basisinfrastruktur für zur Laufzeit aktivierbare Grafikhardware mehr als überfällig. Wichtig sind auch die Sicherheitsverbesserungen für Container, die den Linux Containern (LXC) vielleicht den entscheidenen Schub geben. Überfällig waren auch Funktionen zum besseren Performance Monitoring von Userspace-Software – zwar lässt Uprobes in seiner jetzigen Form noch einiges zu wünschen übrig, doch könnte es die Basis für erweiterte Tracing-Möglichkeiten legen, wie sie Dtrace bei Solaris bereits bietet.

Direkt nach der Freigabe von Linux 3.5 beginnt nun das typischerweise zwei Wochen lange Merge Window, in dem die Kernel-Entwickler den Großteil der Änderungen für die nächste Linux-Version in den Hauptentwicklungszweig integrieren.

Zur Aufnahme liegt unter anderem Code bereit, durch den der Kernel PCIe-Geräte in den Tiefschlafmodus D3Cold versetzen kann – das ist der tiefste Schlafmodus von PCIe-Bausteinen, bei dem die Hauptleitungen der PCIe-Verbindungen komplett abgeschaltet werden. Einziehen soll auch ein Treiber für Realtek-WLAN-Bausteine der RT3290-Serie.

Möglicherweise geht auch der Code für IOMMU Groups und das darauf aufbauende VFIO (Virtual Function I/O) in Linux 3.6 ein. Bei Letzterem handelt es sich um eine Zusammenführung von UIO (Userspace I/O) und dem bisherigen KVM-Device-Passthrough-Code. VFIO kann Userspace-Programmen mit Hilfe von I/O-Virtualisierungstechniken wie AMD-Vi und Intels VT-d einen direkten Zugriff auf Systemgeräte ermöglichen. Dadurch soll sich Hardware vom Userspace aus mit geringer Latenz und hohem Datendurchsatz nutzen lassen; die IOMMU (Input/Output Memory Management Unit) stellt dabei sicher, das keine Arbeitsspeicherbereiche per DMA (Direct Memory Access) zugänglich sind, die nichts mit dem via VFIO genutzten Gerät zu tun haben.

Die Technik ist keineswegs mit einem Plan verbunden, Linux-Treiber generell in den Userspace zu verlagern; vielmehr ist sie vorwiegend zur Virtualisierung gedacht, um einzelne Geräte des Wirts an Gäste durchzureichen, damit diese sie mit weniger Overhead nutzen können als bisher. Einige Hintergründe liefern Artikel bei LWN.net, die Folien des LinuxTag-Vortrags "Userspace I/O and Other Recent IOMMU Developments in the Linux Kernel" von IOMMU-Maintainer Jörg Rödel und die Folien eines Vortrags, den der VFIO-Entwicklers im letzten Jahr auf der Linux Plumbers Conference (LPC) gehalten hat.

Das Kernel-Log in c't und auf heise open wird wie üblich über diese und andere Neuerungen am Linux-Kernel und in dessen Umfeld berichten. Sofern Torvalds und seine Mitstreiter im üblichen Tempo arbeiten, dürfte Linux 3.6 ungefähr Ende September erscheinen.

Linux-
Version
Anzahl
Dateien¹
Zeilen
Quelltext²
(Ohne
Dokum.)
Entwick-
lungs-
zeitraum
Anzahl
Commits³
Diffstat⁴
2.6.39 36705 14533582
(13600071)
65 Tage 10268 10985 files changed,
 847537 insertions(+),
 523387 deletions(-)
3.0 36781 14646952
(13688408)
64 Tage 9153 7946 files changed,
 555406 insertions(+),
 442033 deletions(-)
3.1 37084 14770469
(13804451)
94 Tage 8692 9181 files changed,
 728892 insertions(+),
 604658 deletions(-)
3.2
37617 14998651
(14017008)
73 Tage 11881 12608 files changed,
 1646421 insertions(+),
 1418238 deletions(-)
3.3 38082 15166074
(14173668)
74 Tage 10550 10698 files changed,
 599745 insertions(+),
 432324 deletions(-)
3.4 38566 15383860
(14370856)
63 Tage 10899 11086 files changed,
 576156 insertions(+),
 358369 deletions(-)
3.5 39096 15596378
(14556354)
62 Tage 10957 9631 files changed,
 623277 insertions(+),
 410757 deletions(-)
¹ find . -type f -not -regex '\./\.git/.*' | wc -l
² find . -type f -not -regex '\./\.git.*' | xargs cat | wc -l (find . -name *.[hcS] -not -regex '\./\.git.*' | xargs cat | wc -l)
³ git-log --no-merges --pretty=oneline v3.(x-1)..v3.(x) | wc -l
⁴ git diff --shortstat v3.(x-1)..v3.(x)
Mehr Infos

Linux 3.5 herunterladen

Der neue Kernel steht über Kernel.org zum Download bereit; in Kürze dürften auch die Spiegelserver diese Version ausliefern. Den Quellcode gibt es in Tar-Archiven, die mit Gzip, Bzip2 und XZ komprimiert wurden. Die Echtheit des Archivs lässt sich nach dem Dekomprimieren über eine Signatur-Datei prüfen:

[thl@thl tmp]$ wget --quiet http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.tar.sign \
http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.tar.xz
[thl@thl tmp]$ xz -d linux-3.1.tar.xz
[thl@thl tmp]$ gpg --verify linux-3.1.tar.sign
gpg: Unterschrift vom Mo 24 Okt 2011 09:17:58 CEST mittels RSA-Schlüssel ID 00411886
gpg: Korrekte Unterschrift von "Linus Torvalds <torvalds@linux-foundation.org>"
gpg: WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!
gpg: Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen Besitzer gehört.
Haupt-Fingerabdruck = ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs auf heise open. Neue Ausgaben des Kernel-Logs werden auf den Identi.ca- und Twitter-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H Open" erscheinenden Übersetzungen auf den Identi.ca- und Twitter-Konten "@kernellog2". Gelegentlich zwitschert der Autor des Kernel-Logs unabhängig davon über einige später meist auch im Kernel-Log erwähnte Themen als "@kernellogauthor" bei Identi.ca und Twitter.

(thl) (thl)