Open Source im professionellen Einsatz
Linux-Magazin 03/2014

Zacks Kernel-News

Die Entwickler des Linux-Kernels organisieren ihre Arbeit per Mailingliste. Aus der Flut der Nachrichten, Patches und Diskussionen fischt Zack Brown für das Linux-Magazin regelmäßig die interessantesten Threads heraus.

1244

Zwischen Stabilität und Fortschritt: Pläne für Kernel 4.0

Ende 2013 hat Linus Torvalds auf der Mailingliste über seine Pläne für eine Kernelversion 4.0 geschrieben. Er erwartet sie binnen eines Jahres, etwa nach Version 3.19: "Mit niedrigen Zahlen hinter der Drei kann ich leben, aber so hoch wie in der 2.6-Reihe möchte ich nicht mehr zählen. Deshalb sollten wir an irgendeinem Punkt von 3.x auf 4.x umschalten, damit die Nummern leicht zu merken bleiben."

Was nach reiner Zahlenakrobatik klingt, hat allerdings wichtige Implikationen. Linus schreibt nämlich auch, er möchte 4.0 zur Stabilisierung verwenden. Geht es nach ihm, sollten sich in dieser Version alle Entwickler auf das Beheben von Bugs konzentrieren und neue Features bis Kernel 4.1 zurückstellen.

Dabei ist er sich bewusst, dass die Kernelhacker das nicht gerne tun: "Ich mag ja ein Pessimist sein, aber ich kann mir vorstellen, dass viele Entwickler zwar zunächst auf Fehlersuche gehen, bald aber einen tollen neuen Einfall haben, den sie unbedingt in ein Feature verwandeln müssen. Oder sie nehmen ausgerechnet während der Bugfix-Release frei."

Die Befürchtungen sind nicht grundlos. Schon im Zeitalter der instabilen und stabilen Minor-Nummern wie 2.3 und 2.4 gab es viele Entwickler, die in der stabilen Phase in eine Art Winterschlaf verfielen. Die Epoche 2.6 schaffte das alte Schema ab. Nun durften die Kernelentwickler an neuen Features arbeiten, während die Stabilisierung vornehmlich zur Aufgabe der Linux-Distributionen wurde. Daneben sorgte Andrew Morton für reiferen Code, indem er seinen »-mm« -Zweig als »linux-next« einrichtete. Was zunächst sein persönlicher Versionszweig mit Patches für Linus war, verwandelte sich so in eine Test- und Bugfix-Abteilung für den offiziellen Torvalds'schen Kernel.

Parallel bemühte sich auch Greg Kroah-Hartman zusammen mit einigen Kollegen um die Stabilität des Linux-Kerns. Zu diesem Zweck erzeugten sie einen Fork fast jeder neuen Kernelversion und reparierten in Point-Releases die auftretenden Fehler, bis der nächste Kernel erschien. Einige Versionen kamen sogar in den Genuss des so genannten Longterm-Supports und wurden wesentlich länger von Greg und Kollegen betreut, insbesondere jene, die das Debian-Projekt für seine Distribution auswählte.

Ohne einen Plan für Kernel 2.7 stiegen die Versionsnummern im Zweig 2.6 stetig, bis der Kernel-Papst bei 2.6.39 den Schalter umlegte und Linux 3.0 ankündigte. Zur Vereinfachung verwendete er für die offiziellen Releases nur mehr zwei statt drei Stellen, also beispielsweise 3.0 und 3.1. Für die Zählung der stabilisierten Versionen blieb die dritte Stelle. Um die Feature-Flut einzudämmen, verkürzte Linus das Merge Window, in dem die Entwickler Neuerungen einreichen können, und verschärfte das System der Release Candidates.

Die Reaktionen auf Linus' 4.0-Pläne fallen unterschiedlich aus. Ingo Molnar etwa hält es für keine Zumutung, von den Entwicklern mehr Stabilisierungsarbeit zu verlangen. Er fürchtet aber, "dass 3.19 eine super-stressige Release für die Maintainer wird, weil alle noch ihre Features unterbringen möchten. Sonst müssten sie ja fünf Monate oder länger auf die nächste Gelegenheit warten."

Daneben betont Ingo, nicht die Entwickler seien für die Stabilität ausschlaggebend, sondern die Maintainer der Kernel-Subsysteme. Sie müssten beim Einpflegen neuer Patches darauf achten, dass nichts kaputtgeht. Den derzeitigen Prozess mit seiner Rollenverteilung hält er für bewährt, er möchte ihn in Zukunft beibehalten, ob die Versionsnummer nun auf 4 springt oder nicht.

Greg pflichtet Ingo bei. Auch er erwartet einen regelrechten Feature-Ansturm in der letzten Version vor 4.0. "Ich bemerke das heute schon, wenn die Leute versuchen zu erraten, welcher der nächste Longterm-Kernel wird. Sie bringen dann noch schnell halbfertige Sachen, weil sie glauben, sie könnten sie später in der Stabilisierungsphase reparieren", klagt er. Daneben verweist er stolz auf die rund 4000 Bugfixes, die seine stabile Ausgabe des 3.0-Kernels aufgenommen hat.

Die Diskussion kam zu keinem Beschluss, wann genau es Kernel 4.0 geben wird und welchen Zweck er erfüllen soll. Sie zeigt aber, wie sehr die Stabilisierung des Kernels Linus am Herzen liegt.

Linus möchte 2014 den Kernel 4.0 mit möglichst wenigen Bugs veröffentlichen.

Strittige XFS-Betreuung

Im XFS-Projekt ging es jüngst um Personalpolitik. Ben Myers von SGI, Betreuer des Journaling-Dateisystems, hat ein Patch für die »MAINTAINERS« -Datei eingeschickt. Es ersetzt den Co-Maintainer Alex Elder von Inktank durch Mark Tinguely, der auch bei SGI angestellt ist.

Der Red-Hat-Architekt Ric Wheeler erhob Einspruch, denn seiner Meinung nach haben Dave Chinner (ebenfalls von Red Hat) und Christoph Hellwig wesentlich mehr Code beigetragen als irgendjemand sonst. Als die beiden führenden Entwickler hätten sie am ehesten ein Anrecht auf den Posten.

Ben erwiderte: "Mark ersetzt Alex als mein Stellvertreter, weil Alex wegen seiner Auslastung durch Linaro zurücktreten möchte. Daneben genießt Mark mein Vertrauen." Christoph Hellwig schaltete sich ein und kritisierte Bens Alleingang bei der Entscheidung: "So etwas ohne den wichtigsten Mitarbeiter zu entscheiden ist falsch, vor allem wenn der Maintainer selbst kaum Code beiträgt." Christoph betonte, Dave Chinner sollte Maintainer werden: "Seit Jahren ist er der wichtigste Mitarbeiter und Chefarchitekt von XFS und hat viele Maintainer von SGIs Gnaden kommen und gehen gesehen." Auch Ric stellte sich hinter Dave, lobte Christoph aber ebenfalls.

Ben antwortete, er würde alle beide akzeptieren, daneben auch Eric Sandeen von Red Hat. Er hoffte auf einen Schiedsspruch von Linus Torvalds, doch dieser blieb aus. Schließlich veröffentlichte Ben ein Patch, das Alex als Co-Maintainer entfernte und Dave Chinner einsetzte. Dieser nahm die neue Position an, aber nur unter der Voraussetzung, dass er vollen Zugriff auf das XFS-Repository bei SGI erhält und die anderen Entwickler ihn bei Patch-Reviews unterstützen.

Kdbus bringt D-Bus in den Kernel

D-Bus, das von KDE und Gnome bekannte Framework zur Interprozesskommunikation (IPC), wird demnächst auch eine Implementierung im Kernel erhalten. Das soll besonders seine Performance verbessern.

Der Red-Hat-Entwickler Lennart Poettering hat Details dazu im Januar 2014 in einem Vortrag auf der Konferenz Linux.conf.au dargelegt. Ein Video und Folien zum Vortrag hat Greg Kroah-Hartman in seinem Blog unter http://www.kroah.com/log/ verlinkt. Unter anderem betont Lennart, moderne Betriebssysteme wie Mach und QNX besäßen bereits leistungsfähige IPC-Systeme. Linux dagegen verwende häufig noch Sockets, Fifos und Shared Memory. D-Bus bringe trotz einiger Schwächen die passenden Features mit und sei auf dem Desktop praxiserprobt.

Im Rahmen eines Hackfestes wollen Lennart, Greg und andere den Kdbus-Code in den Linux-Kernel integrieren.

PIE für Embedded-Linux

Russ Dill von Texas Instruments hat ein interessantes Patch für ARM-Computer mit System-on-Chip eingereicht. Es bringt Unterstützung für Position Independent Executables (PIE). Solche Binärdateien laufen unabhängig von der Position im Speicher, an der sie geladen sind. Das ist für Embedded-Systeme wichtig, da sie oft keine Memory Management Unit (MMU) besitzen, die sich um Speichervirtualisierung kümmert.

"Bisher musste man oft sorgfältig geschriebenen Assembler-Code für solche Programme verwenden – ich arbeite daran, sie mit C möglich zu machen", schrieb Russ. Das Patch erhielt viel Lob, unter anderem von Linus Walleij. Kritik kam dagegen von Dave Martin aus der ARM-Mutterfirma. Er gibt zu bedenken, dass die PIE-Bibliotheksfunktionen möglicherweise nicht in allen Umgebungen gleichermaßen funktionieren.

Daneben befürchtet er Platzprobleme: Es sei nicht optimal, die Bibliothek in jedes einzelne Executable zu packen. Stattdessen schlägt er vor, einfach zwei Exemplare im Speicher zu halten – eines für den Betrieb mit und eines für den ohne MMU. (Zack Brown/mhu)

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.