Linux: Kernel-Entwickler will der "Abhängigkeitenhölle" entkommen

Die Linux-Kernel-Header könnten komplett neu gestaltet werden. Das führt zu schnelleren Builds und den wohl größten Änderungen am Kernel jemals.

Artikel veröffentlicht am ,
Die Header-Dateien des Linux-Kernel könnten eine vollständige neue Struktur bekommen.
Die Header-Dateien des Linux-Kernel könnten eine vollständige neue Struktur bekommen. (Bild: Pixabay)

Der langjährige Linux-Kernel-Entwickler Ingo Molnar hat sein Projekt für schnellere Kernel-Header vorgestellt, wie er es selbst nennt. Dabei handelt es sich um eine "umfassende Überarbeitung der Header-Hierarchie und Header-Abhängigkeiten des Linux-Kernels". Hauptziel der Arbeiten sei es, die Build-Zeit des Kernels zu beschleunigen sowie die Typen- und API-Definitionen voneinander zu trennen.

Laut Molnar umfasst der Linux-Quellcode rund 10.000 einzelne Header-Dateien. Dazu schreibt der Entwickler: "In den letzten 30+ Jahren haben sie sich zu einer komplizierten und schmerzhaften Ansammlung von gegenseitigen Abhängigkeiten entwickelt, die wir liebevoll 'Abhängigkeitenhölle' nennen." Mit Hilfe der Arbeiten von Molnar soll dieses Problem zumindest teilweise gelöst werden.

In der Ankündigung beschreibt der Entwickler seinen iterativen Prozess für das Projekt, das er in mehreren Anläufen im Zeitraum von über einem Jahr immer wieder in Angriff genommen hat. Bei der nun verfügbaren ersten öffentlichen Vorstellung handelt es sich letztlich um insgesamt mehr als 2.200 einzelne Beiträge. Damit würden sogar mehr als die Hälfte aller Kernel-Quellcode-Dateien verändert. "Dies ist also wahrscheinlich die größte einzelne Funktionsankündigung in der Geschichte der Linux-Kernel-Mailingliste", vermutet Molnar.

Weniger Abhängigkeiten für schnellere Builds

Die von Molnar vorgestellten ersten Benchmark-Ergebnisse deuten dabei zumindest darauf hin, dass er mit dem massiven Arbeiten sein Ziel erreicht hat. Die Build-Zeit verbessert sich demnach um 78 Prozent. Die Verbesserungen für inkrementelle Builds liegen darüber hinaus bei teils deutlich über 100 Prozent. Erreicht wird dies durch eine massive Reduzierung der einzelnen Abhängigkeiten und der Code-Zeilen in den Header-Dateien. So werden letztlich auch die durch den Präprozessor entstandenen Code-Zeilen reduziert, die der Compiler verarbeiten muss.

Molnar hat dazu die Abhängigkeiten einiger vielfach genutzter Header zueinander aufgelöst, Inline-Funktionen aus Headern entfernt, Typen- und API-Header voneinander entkoppelt und Header so umgebaut, dass diese eigenständig gebaut werden können. Der Entwickler zählt zusätzlich dazu einige weitere Techniken auf, schreibt jedoch selbst, dass er bei über 2.200 Beiträgen wohl einige vergessen habe.

Bisher seien die Patches auf vier CPU-Architekturen portiert worden und Molnar selbst nutze die Änderungen bereits produktiv auf seiner x86-Entwicklungsmaschine. Dabei sei es nur zu einigen wenigen Fehlern gekommen. Das könnte bei anderen aber auch ganz anders sein, gibt Molnar zu bedenken. Weitere Architekturen sollen folgen und die Patches so aufgearbeitet werden, dass sie vollständig in den Kernel eingepflegt werden können.

Noch gibt es nur eine, dafür aber positive Rückmeldung auf die massiven von Molnar vorgeschlagenen Änderungen. Diese stammt von Greg Kroah-Hartman, der nach Linux-Erfinder Torvalds in der Community als Nummer zwei der Kernel-Entwicklung gilt. Ob die Patches aber wirklich in den Hauptzweig eingepflegt werden, ist derzeit völlig unklar und wird wohl für zahlreiche Diskussionen innerhalb der Kernel-Community sorgen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Redmagic 8 Pro im Test
Günstiger bekommt man keinen Snapdragon 8 Gen2

Das Redmagic 8 Pro ist eines der ersten Smartphones mit Qualcomms Snapdragon 8 Gen2. Das Gerät hat eine hohe Leistung, ist aber nicht perfekt.
Ein Test von Tobias Költzsch

Redmagic 8 Pro im Test: Günstiger bekommt man keinen Snapdragon 8 Gen2
Artikel
  1. Arbeitsschutz: Gamification in Amazon-Lagerhäusern ist gefährlich
    Arbeitsschutz
    Gamification in Amazon-Lagerhäusern ist gefährlich

    Amazon soll das Gamification-System seiner Lagerhäuser überarbeiten, da es ein Risiko für Verletzungen der Mitarbeiter darstellt.

  2. Datenleck: Ehemaliger Ubiquiti-Angestellter bekennt sich schuldig
    Datenleck
    Ehemaliger Ubiquiti-Angestellter bekennt sich schuldig

    Für einen vermeintlichen Ubiquiti-Hack hat sich ein ehemaliger Angestellter schuldig bekannt. Mit den erlangten Daten erpresste er das Unternehmen.

  3. Software: Wie Entwickler Fehler aufspüren - oder gleich vermeiden
    Software
    Wie Entwickler Fehler aufspüren - oder gleich vermeiden

    Es gibt zahlreiche Arten von Softwarefehlern. Wir erklären, welche Testverfahren sie am zuverlässigsten finden und welche Methoden es gibt, um ihnen vorzubeugen.
    Von Michael Bröde

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • DAMN-Deals bei Mindfactory: Grakas, CPUs & Co. • HTC Vice 2 Pro Full Kit 899€ • RAM-Tiefstpreise • Bis 1.000€ Cashback auf Samsung TVs • Corsair HS80 7.1-Headset -42% • PCGH Cyber Week • Samsung G5 Curved 27" WQHD 267,89€ • Samsung Galaxy S23 vorbestellbar [Werbung]
    •  /