Linux: Kernel-Hacker müssen zu komplexen Code austauschen

Teile des x86-Assembler-Codes im Linux-Kernel sind so komplex und unverständlich, dass diese nun einfach durch neuen C-Code ersetzt werden müssen. Bereits für Linux 4.1 haben die Hacker große Umbauarbeiten daran vorgenommen.

Artikel veröffentlicht am ,
Neuschreiben ist einfacher, als einen schrittweisen Austausch des Codes zu wagen, meint Andy Lutomirski.
Neuschreiben ist einfacher, als einen schrittweisen Austausch des Codes zu wagen, meint Andy Lutomirski. (Bild: Christopher Michel/CC-BY-2.0)

Er habe versucht, den betroffenen Code schrittweise aufzuräumen, schreibt der Linux-Entwickler Andy Lutomirski, "aber ich habe entschieden, dass das einfach zu schwierig ist". Die durch ihn vorgestellten Patches ersetzen einige Teile des x86-Assembler-Codes im Kernel einfach komplett. "Das scheint zu funktionieren".

Stellenmarkt
  1. Senior C/C++ Developer Firmware / Embedded (m/w/d)
    ERWEKA GmbH, Langen
  2. Informatiker*in / Netzwerk-Engineer (w/m/d)
    Stadt Norderstedt, Norderstedt
Detailsuche

Diese Herangehensweise ist für die Linux-Community eher ungewöhnlich, doch Lutomirski hat gute Gründe für dieses Vorgehen. Denn der betroffene Code regelt den Übergang vom Kernel-Mode zurück in den User-Mode - eine der sehr grundlegenden Funktionen also. Doch bisher sei der Code einfach in sehr vielen Stellen kopiert worden und zudem in einer "fiesen Kombination von Assembler und C geschrieben".

Code ist kaum zu verstehen

Weiter heißt es, dass es teilweise nicht klar sei, wofür der Code eigentlich genau gedacht sei. Die derzeitige Struktur erschwere zudem die Arbeit damit deutlich. Zu einigen Abläufen scheint Lutomirski zwar konkrete Vermutungen zu haben, es sei aber dennoch "sinnlos kompliziert". Letztlich sei der Code so schwer zu verändern, weil er so anfällig sei, dass aus Sicht des Entwicklers das Neuschreiben die wohl beste Möglichkeit ist. Dafür nutzt er C-Code statt Assembler.

Noch fehlen wohl einige weitere Teile, die künftig ebenfalls neu geschrieben werden sollen. Die Bemühungen seien Bestandteil eines größeren Plans, der sämtlichen x86-Assembler-Code betrifft. Denn bereits für Linux 4.1, der wohl am kommenden Montag final erscheinen wird, haben Lutomirski und weitere Beteiligte verhältnismäßig viele Änderungen vorgenommen, um den alten Code zu verbessern.

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


spiderbit 30. Jun 2015

naja man kann aber seine ansprueche stueck fuer stueck erhoehen und nicht umgekehrt...

QDOS 23. Jun 2015

Ok, her mit dem Beweis, dass C++ mit Templates, Inlining etc. langsamer ist als C mit...

Clown 23. Jun 2015

Sehe ich auch so. Genau. Es ist aber immer noch möglich die Speicherverwaltung zu Fuß zu...

mnementh 22. Jun 2015

Glaub mir eines: wird es nicht. Es gibt immer verschiedene Software. Aber mehr als genug...



Aktuell auf der Startseite von Golem.de
Verwirrendes USB
Trennt die Klassengesellschaft!

USB ist ziemlich verwirrend geworden, daran werden auch neue Logos nichts ändern. Das Problem ist konzeptuell.
Ein IMHO von Johannes Hiltscher

Verwirrendes USB: Trennt die Klassengesellschaft!
Artikel
  1. Berufsschule für die IT-Branche: Leider nicht mal ausreichend
    Berufsschule für die IT-Branche
    Leider nicht mal "ausreichend"

    Lehrmaterial wie aus einem Schüleralbtraum, ein veralteter Rahmenlehrplan und nette Lehrer, denen aber die Praxis fehlt - mein Fazit aus drei Jahren als Berufsschullehrer.
    Ein Erfahrungsbericht von Rene Koch

  2. Vorratsdatenspeicherung: CDU/CSU wollen IP-Adressen sechs Monate lang speichern
    Vorratsdatenspeicherung
    CDU/CSU wollen IP-Adressen sechs Monate lang speichern

    Die Unionsfraktion setzt weiterhin auf eine Vorratsdatenspeicherung von IP-Adressen. Quick-Freeze sei eine "Nebelkerze".

  3. Next Generation wird 35: Der Goldstandard für Star Trek
    Next Generation wird 35
    Der Goldstandard für Star Trek

    Mit Next Generation wollte Paramount den Erfolg der ursprünglichen Star-Trek-Serie nutzen - und schuf dabei eine, die das Original am Ende überstrahlte.
    Von Tobias Költzsch

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 • Saturn Technik-Booster • Viewsonic Curved 27" FHD 240 Hz günstig wie nie: 179,90€ • MindStar (Gigabyte RTX 3060 Ti 499€, ASRock RX 6800 579€) • AMD Ryzen 7000 jetzt bestellbar • Alternate (Kingston Fury DDR5-5600 16GB 96,90€) [Werbung]
    •  /