Die Neuerungen von Linux 2.6.38

Seite 2: Wunderpatch

Inhaltsverzeichnis

Für verhältnismäßig viel Aufsehen sorgte um den Jahreswechsel eine als "Wunderpatch" oder "Autogroup scheduling feature" bekannt gewordene und in 2.6.38 integrierte Änderung, welche die Interaktivität von Desktop-Umgebungen und -Anwendungen in bestimmten Situationen verbessert. Das gelingt allerdings nicht durch magisch erzeugte CPU-Ressourcen, sondern durch die automatische Gruppierung aller Prozesse einer Session zu einer Cgroup (Control Group) – das sorgt bei Vollauslastung der CPU für eine andere Verteilung der Prozessorzeit, was zu einem reaktionsschnelleren Desktop führen kann, sofern die CPU-lastigen Prozesse in einer anderen Gruppe stecken als die Desktop-Umgebung.

Details zur Funktionsweise liefert ein älteres Kernel-Log und ein Artikel bei LWN.net. Scheduler-Maintainer Ingo Molnar und Linus Torvalds zeigten sich von dem Patch angetan und lobten ihn im Haupt-Git-Pull-Request für den Scheduler-Code und der Ankündigung von 2.6.38-rc1. Die größte Wirkung zeigt sich allerdings bei Bedingungen, wie sie bei Kernel-Hackern häufig auftreten: Das Benutzen der Desktop-Oberfläche, während im Terminal eine CPU-lastige Aufgabe läuft – etwa das Kompilieren eines Kernels. Keine nennenswerten Einfluss hat die Gruppierung in Situationen, wo zwei Desktop-Anwendungen um die Prozessorzeit wetteifern.

Mehr Infos

Informationsquelle Quellcodeverwaltung

Viele der Links im Artikel verweisen auf den für die Neuerung jeweils relevanten Commit im Web-Frontend des von Linus Torvalds mit Git verwalteten Linux-Quellcodezweigs auf kernel.org. Dort finden sich viele weitere Informationen zur jeweiligen Änderungen – speziell der Kommentar im oberen Bereich der vom Git-Web-Frontend angezeigten Webseite zu einzelnen Commits ist häufig eine überaus ergiebige Quelle für weitere Informationen, denn dort erklärt der Autor des Patches normalerweise die Hintergründe der Änderungen und deren (erhoffte) Auswirkung. Gelegentlich finden sich dort auch Benchmark-Ergebnisse oder Verweise auf weitere Informationsquellen.

Auf den Commit-Kommentar folgt eine Auflistung der durch den Patch veränderten Dateien. Über den hinter dem Dateinamen zu findenden Link "patch" kann man sich anzeigen lassen, wie der Commit die jeweilige Datei verändert; "history" zeigt frühere Änderungen der Datei an. Weiter unten finden sich alle im Rahmen des Commits durchgeführten Änderungen im Unified-Diff-Format. Dabei handelt es sich größtenteils um Modifikationen am Quellcode des Linux-Kernels – es sind aber nicht selten auch Anpassungen an der Dokumentation oder an Kommentaren im Code darunter, daher finden dort auch Anwender ohne Programmierkenntnisse viele hilfreiche Informationen.