Kernel-Log – Was 3.12 bringt (3): Infrastruktur

Einige Prozessoren laufen mit Linux 3.12 ein wenig flotter und gleichzeitig sparsamer. Der Kernel soll Thunderbolt und Docking-Stationen jetzt besser unterstützen.

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

Die Kernel-Entwickler haben die Formeln angepasst, mit denen der bei vielen Distributionen standardmäßig verwendete Ondemand-Governor des Cpufreq-Subsystem entscheidet, auf welcher Geschwindigkeitsstufe der Prozessor läuft. Laut Messungen des zuständigen Entwicklers soll das nicht nur die Performance manchmal ein klein wenig verbessern, sondern gelegentlich auch den Energieverbrauch leicht reduzieren; das ist möglich, weil der angepasste Ondemand-Governor zu häufige Wechsel zwischen niedrigen und hohen Taktfrequenz vermeiden kann. Es hängt aber stark von den jeweiligen Umgebungsbedingungen ab, ob sich Spareffekte oder Geschwindigkeitsverbesserungen mit Kernel 3.12 zeigen. Die Effekte können aber durchaus groß sein: In einem Grafiktreiber-Benchmark der Webseite Phoronix etwa hat die Änderung für eine signifikante Verbesserung gesorgt.

Bei modernen Intel-Prozessoren setzen einige Distributionen zur Steuerung der Taktfrequenz aber nicht mehr auf Ondemand, sondern auf den noch jungen Pstate-Treiber, der noch besser funktionieren soll. Dieser Treiber, der nur mit Intel-CPUs funktioniert, unterstützt nun auch Intels Haswell-Kerne, auf denen die im Juni eingeführten Core-i-Prozessoren der vierten Generation basieren.

Zum Kernel stieß ferner ein Cpuidle-Treiber für die Big.Little-Funktion des "Test Chip 2" (TC2) eines Versatile-Express-Entwicklerboards von ARM. Dieser Treiber ist ein weiterer Baustein auf dem Weg zur Unterstützung von ARMs Big.Little-Architektur und anderen Prozessoren, die Kerne mit verschiedenen Fähigkeiten und unterschiedlicher Geschwindigkeit enthalten.

Der Linux-Kernel 3.12 soll Thunderbolt bei Systemen unterstützen, die das Betriebssystem via ACPI informieren, wenn Thunderbolt-Hardware angesteckt oder abgezogen wird. Die Kernel-Entwickler verraten allerdings nicht, welche Hardware so arbeitet. Macs sind es allerdings nicht. Gerade bei denen gibt es bislang reichlich Schwierigkeiten beim Einsatz von Thunderbolt mit Linux; daran trägt wohl Apple die Hauptsschuld, denn das Unternehmen hält sich laut Greg Kroah-Hartman nicht an die Spezifikation.

Mehr Infos

Die "Was Linux 3.12 bringt"-Serie

Das Kernel-Log kann bereits jetzt einen Überblick über die wichtigsten Neuerungen der Linux-Version 3.12 geben, da alle größeren Änderungen bereits in den ersten beiden Entwicklungswochen integriert wurden; das Ende Oktober oder Anfang November erwartete Linux 3.12 befindet sich seit dem in der Stabilisierungsphase, in der die Kernel-Hacker nur selten größere Umbauten vornehmen.

Über einige der Neuerungen von Linux 3.12 hat das Kernel-Log bereits im Rahmen der Artikelserie "Was 3.12 bringt" berichtet:

  1. Dateisysteme & Storage
  2. Netzwerk

In der kommenden Woche folgt noch ein Artikel zu Treibern.

Die verbesserte Thunderbold-Unterstützung stieß mit Umbauten am Hotplug-Code zum Kernel, die Probleme rund um ACPI-based PCI Hotplug (ACPIPHP) beseitigen sollen; das verspricht auch bessere Unterstützung für die Docking-Stationen von Notebooks.

Der KVM- und Xen-Code von Linux 3.12 kann nun Paravirtual Ticketlocks nutzen, was den Overhead beim Locking reduzieren soll, um die Performance beim Virtualisieren zu steigern (u. a. 1, 2, 3, 4). KVM kann Intels Extended Page Tables (EPT) nun auch bei Gastsystemen nutzen, die in einem anderen Gast gestartet wurden (u. a. 1, 2); das soll die Geschwindigkeit bei dieser "Nested Virtualization" verbessern.

Durch einige Änderungen am Memory-Management-Code soll der Kernel jetzt robuster und vorhersehbarer arbeiten, wenn der Arbeitsspeicher zur Neige geht. Bei der Verteilung geforkter Prozesse kann der Prozess-Scheduler seit einiger Zeit versuchen, den neuen Prozess einem CPU-Kern zuzuweisen, dessen Cache bereits relevante Daten enthält; bei diesem Verteilschema geht der Scheduler jetzt geschickter vor, was ein Performance-Problem vermeidet, das sich beim Postgresql-Benchmark pgbench gezeigt hat. Er liefert dadurch auf dem Testsystem des zuständigen Entwicklers um bis zu 40 Prozent bessere Werte.

Der Kernel kann den Prozessor, der sich um das Ticken des Zeitgebers kümmert, nun auch bei Systemen mit Kerneln schlafen legen, die "Full Dynamic Ticks" unterstützen. Das soll die Leerlauf-Leistungsaufnahme solcher Systeme auf das Niveau senken, das Kernel ohne diese Funktion erreichen. Diese auch als "nohz" bezeichnete Technik wurde bei Linux 3.10 eingeführt und ermöglicht Prozessen die ungestörte Nutzung eines Prozessorkerns; Hintergründe zur Technik und den jetzt vorgenommenen Änderungen erläutert ein LWN.net-Artikel.