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.

Stellenmarkt
  1. Systemadministrator (w/m/d) 2nd/3rd Level (Telearbeit)
    HanseVision GmbH, Bielefeld, Hamburg, Karlsruhe (mobiles Arbeiten)
  2. C/C++ Elektrotechniker / Informatiker als Softwaretester (m|w|d)
    SALT AND PEPPER Technology GmbH & Co. KG, Osnabrück
Detailsuche

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.

Golem Akademie
  1. Elastic Stack Fundamentals – Elasticsearch, Logstash, Kibana, Beats: virtueller Drei-Tage-Workshop
    15.–17. März 2022, Virtuell
  2. Microsoft Dynamics 365 Guides mit HoloLens 2: virtueller Ein-Tages-Workshop
    16. Februar 2022, Virtuell
Weitere IT-Trainings

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.

Linux: Das umfassende Handbuch von Michael Kofler. Für alle aktuellen Distributionen (Desktop und Server) (Deutsch)

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
Reddit
IT-Arbeiter automatisiert seinen Job angeblich vollständig

Ein anonymer Entwickler will unbemerkt seinen Job vollständig automatisiert haben. Dem Arbeitgeber sei dies seit einem Jahr nicht aufgefallen.

Reddit: IT-Arbeiter automatisiert seinen Job angeblich vollständig
Artikel
  1. Bundesservice Telekommunikation: Ist eine scheinexistente Behörde für Wikipedia relevant?
    Bundesservice Telekommunikation  
    Ist eine scheinexistente Behörde für Wikipedia relevant?

    Die IT-Sicherheitsexpertin Lilith Wittmann hat eine dubiose Bundesbehörde ohne Budget entdeckt. Reicht das für einen Wikipedia-Artikel?

  2. Deutsche Telekom: iPads für mehr als 400.000 Schüler in Rheinland-Pfalz
    Deutsche Telekom
    iPads für mehr als 400.000 Schüler in Rheinland-Pfalz

    Rheinland-Pfalz beschafft iPads für 1.660 Schulen. Die Ausschreibung hat die Deutsche Telekom gewonnen. Auch Notebooks gibt es.

  3. Bitcoin, Ethereum: Was steuerlich bei Kryptowährungen gilt
    Bitcoin, Ethereum
    Was steuerlich bei Kryptowährungen gilt

    Kryptowährungen wie Bitcoin sind unter Anlegern beliebt - doch wie muss man die Gewinne eigentlich versteuern?

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 • MindStar (u.a. GTX 1660 6GB 499€) • G.Skill Bosch Professional zu Bestpreisen • WSV bei MediaMarkt • Asus Vivobook Flip 14" 8GB 512GB SSD 567€ • Philips OLED 65" Ambilight 1.699€ • RX 6900 16GB 1.499€ • Samsung QLED-TVs günstiger • Asus Gaming-Notebook 17“ R9 RTX3060 1.599€ [Werbung]
    •  /