Kernel-Log: x32-ABI umgeht Nachteile des 64-Bit-Betriebs

Das x32-ABI will die Vorteile von 64-Bit-x86-Prozessoren nutzen, aber den mit dem 64-Bit-Betrieb einhergehenden Overhead vermeiden. Die Kernel-Entwicklung wird derzeit durch Wartungsarbeiten bei Kernel.org gestört. Einige Kernel-Hacker stellen mit einem an Windows 3.1 erinnernden Linux-Logo und einem Kernel-Modul zum Rickrolling ihren Humor unter Beweis.

In Pocket speichern vorlesen Druckansicht 29 Kommentare lesen
Lesezeit: 8 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Die Intel-Entwickler H. Peter Anvin und H.J. Lu haben auf der LKML eine Diskussion zu System-Call-Nummern für ein x32-ABI (Application Binary Interface) angestoßen. Ein für dieses ABI kompiliertes Programm läuft im 64-Bit-Modus von x86-64-Prozessoren, nutzt aber nur 32-Bit große Pointer und Datenfelder. Das soll den mit dem 64-Bit-Betrieb einhergehenden Overhead vermeiden, denn viele verbreitete Anwendungen brauchen keine 64-Bit-Pointer und -Datenfelder. Eine x32-ABI-Anwendung kann so zwar nur 4 GByte Speicher nutzen, allerdings den kompletten x86-64-Registersatz sowie Techniken wie das SYSCALL64-Interface ansprechen – die stehen im 32-Bit-Kompatibilitätsmodus nicht zur Verfügung, den x86-64-Distributionen heutzutage zum Ausführen von 32-Bit-Anwendungen nutzen.

Das x32-ABI verspricht so die Vorteile von x86-64-/x64-Prozessoren zu nutzen, umgeht aber einige Nachteile des 64-Bit-Betriebs. Dadurch sollen die Anwendungen flotter arbeiten, wie die Homepage zum x32-ABI verspricht. Es gibt aber nur eine Handvoll Messwerte; zudem nutzt die GCC-Unterstützung für das x32-ABI bisher einige Optimierungsmöglichkeiten nicht, was Vergleiche der Ergebnisse erschwert.

Linus Torvalds war mit einigen Aspekten der kernelseitigen Unterstützung von x32 allerdings unzufrieden; einige Hintergründe dazu erläutert LWN.net in dem Artikel "The x32 system call ABI". Für einige der dort angesprochene Probleme scheinen sich aber Lösungen abzuzeichnen.

Die Homepage von x32-ABI verweist auf einige Pakete, die ein aktuelles Fedora um Unterstützung für das neue ABI erweitern -- aufgrund von Wartungsarbeiten bei Kernel.org sind die aber derzeit nicht erreichbar. Inwieweit gängige Linux-Distributionen für x86-64/x64-Systeme das x32-ABI von Haus aus unterstützen, muss die Zeit zeigen. Das größte Interesse an diesem Modus dürften x86-Embedded-Entwickler haben, denn für sie werden 64-Bit-Kernel immer interessanter; gleichzeitig wollen sie den 64-Bit-Overhead möglichst vermeiden, weil die x86-Embedded-CPUs schwachbrüstiger sind als die CPUs heutiger Desktop-PCs und Notebooks.

Bereits Ende August hat Greg Kroah-Hartman wie erwartet die Stable- und Longterm-Kernel 3.0.4, 2.6.33.19 und 2.6.32.46 freigegeben. In der Freigabe-Mail zum 33er-Kernel betonte er, diese Kernel-Serie hauptsächlich für die Entwickler des RT-Zweigs zu pflegen. Deren Echtzeit-Kernel basiere derzeit auf 2.6.33, solle aber bald auf Linux 3.0 aufsetzen; Kroah-Hartman deutet an, dann die Pflege der 33er-Serie einzustellen.

Anders als erwartet veröffentlichte Linus Torvalds an diesem Montag keine neue Vorabversion der nächsten Kernel-Version des Hauptentwicklungszweigs . Ohnehin ist die Kernel-Entwicklung nach dem Einbruch bei Kernel.org etwas verlangsamt. Anfangs hatten die Server die dort vorgehaltenen Daten noch ausgeliefert; seit Mitte letzter Woche zeigt Kernel.org allerdings nur noch den Hinweis, es seien Wartungsarbeiten im Gange. Über Kernel.org erreichbare Dinge wie die Fehlerdatenbank, die Wikis und andere Angebote sind daher derzeit nicht verfügbar, was die Entwicklung des Kernels verlangsamt. Zwischenzeitlich gab es auch Schwierigkeiten mit dem DNS, durch die auch Mailinglisten wie die LKML einige Stunden nicht funktionierten.

Mails auf der LKML zeigen, dass Torvalds jetzt zudem genauer darüber nachdenkt, von wo er Änderungen bezieht, die er in den Hauptentwicklungszweig einpflegt. Er betonte in dem Zusammenhang, bestehende Arbeitsweisen nach dem Einbruch bei Kernel.org überdenken zu wollen. Er setze aber viel Vertrauen in persönliche Beziehungen – oft mehr als in technische Lösungen. Schon mit einigen amüsant geschriebenen Hinweisen in der Freigabe-Mail zum Linux 3.1-rc5 hatte Torvalds deutlich zu machen versucht, Anwender sollten nicht jeder Quelle trauen, die Linux-Quellcode oder Patches anbietet.

Darrick J. Wong Logo-Vorschlag für Linux 3.1.

(Bild: http://djwong.org/docs/31-tuxlogo.png)

Kernel

Unterstützung für Grafikhardware

  • In einer vierteiligen Blog-Serie (1, 2, 3, 4) beschreibt X-Entwickler Peter Hutterer die Neuerungen der in Vorbereitung befindlichen X Input Extension version (XI) 2.1. Die Multitouch Protocol Specification ist dort nicht enthalten; sie soll bei XI 2.2 folgen.
  • Hutterer hat zudem die Version 1.5 des Touchpad-Treibers Synaptics veröffentlicht. In einem Blog-Eintrag erläutert er ferner, wie man Synaptics die Scroll-Richtung ändert, damit das Scrollen ähnlich funktioniert wie beim von MacOS X bekannten "Natural scrolling".
  • Martin Peres sucht Tester für Patches, durch die der Nouveau-Treiber die Lüfterregelung von GeForce-Grafikkarten aktivieren kann, die den Lüfter per PWM regeln. Fehlende Lüfterregelung ist eines der größten Mankos des Open-Source-Treibers für Grafikhardware von Nvidia. Peres hat auch angedeutet, an Verbesserungen für die Stromsparfunktionen von Nouveau zu arbeiten.
  • Parallel zur Arbeit an einer neuen, mit der Nummer "285" beginnenden Treibergeneration hat Nvidia kürzlich noch den Treiber 275.28 für x86-32/x86-32/ix86 - und x86-64/x64-Systeme veröffentlicht. Seine wichtigste Neuerung ist die Unterstützung für den kürzlich freigegeben X-Server 1.11.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

  • Johannes Berg hat die Version 3.1 des Nl80211-Konfigurationswerkzeugs Iw freigegeben.
  • Die Git-Entwickler führen eine Umfrage durch, um mehr über Git-Nutzer und Einsatzgebiete des Quellcodeverwaltungssystems zu erfahren; eine Webseite, die die Hintergründe erläutert, liegt allerdings in einem derzeit nicht erreichbaren Kernel.org-Wiki.
  • Karel Zak hat die Version 2.20 der Werkzeugsammlung util-linux veröffentlicht. Sie enthält unter anderem ein komplett neue geschriebenes dmesg, das Inhalte filtert oder Warn-Level-Nummern in verständliche Bezeichnungen übersetzt. Das Programm mountpoint ist neu dabei und lsblk liefert zusätzliche Informationen.

LKML-Diskussionen

  • Kent Overstreet hat eine neue Version von Bcache zur Diskussion gestellt. Ähnlich wie das von Facebook-Entwicklern stammende Flashcache kann es eine SSD als Cache-Speicher für einen langsameren Datenträger einbinden.
  • Luis R. Rodriguez teilt einige der Erfahrungen, die er bei der Arbeit an Compat-Wireless gemacht hat, mit dem sich die Treiber neuerer Kernel bei älteren Linux-Versionen nutzen lassen.
  • Microsoft-Entwickler K. Y. Srinivasan und Greg Kroah-Hartman diskutierten kürzlich, welche Änderungen noch an den Hyper-V-Treibern nötig sind, damit sie den Staging-Bereich verlassen können.

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