Kernel-Log – Was 2.6.32 bringt (5): Architektur und Virtualisierung

Die nächste Kernel-Version bringt Unterstützung für Intels Moorestown-Plattform, deren ACPI-Alternative SFI und die früher als "LaGrande" bezeichnete Trusted Execution Technology. Das neue KSM reduziert auf Wunsch den Speicherverbrauch, indem es gleiche Speicherinhalte von virtuellen Maschinen zusammenlegt. Mit Timechart lässt sich in Zukunft besser visualisieren, was System und Kernel eigentlich treiben.

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

Da Linus Torvalds diese Woche unterwegs ist, gab es in den vergangen Tagen keine Änderungen im Hauptentwicklungszweig. Zahlreiche Entwickler haben den Linux-Vater aber bereits in LKML-Mails um die Aufnahme von Fehlerkorrekturen gebeten. Je mehr sich davon ansammeln, desto größter wird die Wahrscheinlichkeit, dass Torvalds nach seiner Rückkehr doch noch eine weitere Vorabversion von 2.6.32 veröffentlicht – bei der Freigabe des RC8 hatte Torvalds noch gehofft, dass das die letzte Vorabversion sein könnte.

Der fünfte und vorletzte Teil der Serie "Was Linux 2.6.32 bringt" beschäftigt sich mit den Änderungen an und um architekturspezifischen Code, Speichermanagement, Virtualisierung und Tracing. Die vier vorangegangenen Teile der Serie hatten sich mit den Neuerungen im Netzwerksubsystem, bei für Grafik-Hardware, im Bereich Storage und Dateisysteme sowie bei anderen Treibern beschäftigt.

Neu zum Kernel gestoßen ist Unterstützung für Intels früher als LaGrande Technology bezeichnete Trusted Execution Technology (TXT). Vor dem Ausführen des Kernels können TXT-Systeme zusammen mit den Komponenten des Projekts Trusted Boot (tboot) sicherstellen, dass der Kernel nicht von einem Angreifer modifiziert wurde. Details zu der Technik finden sich in der Kernel-Dokumentation und einem Artikel auf LWN.net.

Der Linux-Kernel lässt sich beim Kompilieren nun speziell für Atom-CPUs optimieren. Die Kernel-Hacker haben außerdem die Unterstützung für Intels Simple Firmware Interface (SFI) integriert. Dabei handelt es sich um eine von Intel entwickelte ACPI-Alternative, die bei der für Smartphones, Mobile Internet Devices (MIDs) und Embedded-Umgebungen gedachten Moorestown-Plattform zum Einsatz kommen soll. Moorestown soll nächstes Jahr kommen und auch unter Linux laufen. Details zu SFI finden sich in einem Vortrag, den ACPI-Subsystem-Verwalter und Intel-Mitarbeiter Len Brown auf dem Linux Symposium 2009 gehalten hat.

Zum Kernel stießen zudem weitere Teile zur Unterstützung von Moorestown – sie bauen auf einer zuvor von Thomas Gleixner eingebrachten Überarbeitung einiger Teile der x86-Unterstützung auf, durch die sich spezielle x86-Plattformen wie Moorestown besser abstrahieren lassen.

KVM unterstützt jetzt den "unrestricted guest"-Modus von Intels nächster Generation von Desktop- und Notebook-Prozessoren (Westmere), die Anfang 2010 unter Produktnamen wie Core i3 oder Core i5 in den Handel kommen sollen. Der Haupt-Patch von KVM-Entwickler Avi Kivity erläutert einige weitere Verbesserungen für KVM – darunter bessere Möglichkeiten zum Tracing und die Eventfd-basierten Mechanismen zum Verbinden von User- und Kernel-Software mit Gastsystemen über irqfd und ioeventfd.

Dass Paravirtualisierung an Bedeutung verliert, deutet eine von VMWare-Entwicklern eingebrachte Änderung an, die das Entfernen des früher von VMWare propagierten Virtual Machine Interface (VMI) bei Linux 2.6.37 ankündigt. Der Grund für diesen zuvor ausführlich diskutierten Schritt: Die Virtualisierungstechniken moderner CPUs seien so gut, dass die über VMI genutzte Paravirtualisierung zumeist keinen sonderlichen Performance-Vorteil bringe.

Neu dabei ist auch das im Umfeld der KVM-Entwickler entstandene KSM. Das Kürzel steht für "Kernel Shared Memory" oder "Kernel SamePage Merging" und bezeichnet ein Framework, das den Speicher mehrerer Userland-Prozesse nach identischen Bereichen absucht; findet es welche, führt es sie zusammen und reduziert durch Freigabe der nun unnützen Kopien den Speicherverbrauch. Das ist etwa bei der Virtualisierung mit KVM interessant, wenn mehrere ähnliche Gastbetriebssysteme mit gleichen Software-Bibliotheken und Programmen auf einem Rechner laufen und dadurch größere Teile der im Arbeitsspeicher der Gäste gespeicherten Daten identisch sind.

Der Artikel zum Linux Symposiums 2009 und die dort verlinkte Textfassung eines OLS-2009-Vortrags erläutern die Technik näher und erklären, wie KSM sicherstellt, dass kein Chaos entsteht, wenn ein Prozess einen gemeinsam genutzten Speicherabschnitt verändert. Das PDF-Dokument erwähnt auch, wie das CERN mit Hilfe von KSM die Hardware-Anforderungen beim Auswerten der Daten des Teilchenbeschleunigers LHC (Large Hadron Collider) reduzieren konnte.

Durch das neue und von Intel-Entwickler Andi Kleen eingebrachte HWPOISON unterstützt der Linux-Kernel 2.6.32 außerdem einige der Techniken zur Behandlung und Umgehung von Speicherfehlern, die die Anfang 2010 erwarteten Server-Prozessoren aus Intels Nehalem-EX-Reihe bieten sollen. Details dazu finden sich im Commit-Kommentar, der Kernel-Dokumentation und einem LWN.net-Artikel.

Die noch jungen Performance Counters wurden in Performance Events umbenannt, weil diese Bezeichnung besser zu dem in den vergangenen Monaten stark weiterentwickelten Code passt. Wie stark sich die Kernel-Infrastruktur zur Performance- und Laufzeit-Analyse sich wandelt, zeigen auch die umfangreichen Patches für die Performance Counter/Events (12), das Tracing-Subsystem oder Oprofile , die die jeweils wichtigsten Neuerungen der Subsysteme kurz erwähnen. Etwa der nun ohne Sperren auskommende Ring-Buffer, den der Tracing-Code stark nutzt – Hintergründe hierzu liefert abermals LWN.net.

Neu ist auch das Subprogramm "perf sched" zur komfortableren Analyse des Prozess-Schedulers. Ebenfalls frisch dabei ist die Unterstützung für das maßgeblich von Arjan van de Ven entwickelte Timechart-Tool, mit dem sich zuvor mit "perf record" aufgezeichneter Traces zur einfacheren Analyse als SVG visualisieren lassen – van de Ven erklärt das ganze in seinem Blog detaillierter und zeigt dort verschiedene Einsatzmöglichkeiten.

Viele weiteren nicht ganz so wichtige Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvald betreuten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

Architektur

ARM

Power

x86

Others

Memory Management (MM)

Tracing

Virtualisierung

Weitere Hintergründe und Informationen rund um die Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Ausgaben des Kernel-Log. (thl) (thl)