Kernel-Log: Wunderpatch integriert, verbesserte Grafiktreiber am Start
Die Kernel-Entwickler haben für Linux 2.6.38 den viel diskutierten Patch integriert, der die Reaktionsgeschwindigkeit von Linux-Desktops in bestimmten Situationen erheblich steigert. AMD-Entwickler erweiterten die Open-Source-Grafiktreiber um Unterstützung für einige Radeon-HD-6000-Grafikchips. Für Gesprächsstoff sorgt die verzwickte Situation bei den Grafiktreibern für Intels neue Prozessoren.
- Thorsten Leemhuis
Nach der Freigabe von Linux 2.6.37 am Mittwoch Morgen tauchten in der Nacht von Donnerstag auf Freitag die ersten Patches für die Kernel-Version 2.6.38 im Hauptentwicklungszweig von Linux auf. Unter den ersten 2769 Commits von Torvalds waren unter anderem die knapp 600 Patches für das Netzwerksubsystem, die dessen Verwalter David Miller eingesandt hatte; mit ihnen stieß wie erwartet der Treiber rtl8192ce für die Realtek-802.11n-WLAN-Chips RTL8192CE und RTL8188CE zum Kernel.
Unter den ersten für Linux 2.6.38 vorgenommenen Änderungen war auch der Patch, der die Interaktivität von Desktop-Applikationen in bestimmten Situationen, bei denen die CPU voll ausgelastet wird, erheblich steigert. Er war unter anderem durch den Phoronix-Artikel "Der 200-Zeilen-Patch, der Wunder vollbringt" ("The ~200 Line Linux Kernel Patch That Does Wonders") bekannt geworden; Details zur Funktionsweise sowie die Beschreibung eines alternativen und flexibleren Ansatzes liefert ein älteres Kernel-Log. Der Betreuer des Prozess-Schedulers, Ingo Molnar, hob diese Funktion in seinem Git-Pull-Request explizit hervor und bezeichnet sie als vermutlich größte und spürbare Änderung im Prozess-Scheduler, die die Interaktivität verbessert.
Die über die Option CONFIG_SCHED_AUTOGROUP einschaltbare Funktion wird in den Vorgaben für die Kernel-Konfiguration allerdings deaktiviert. Wer sie einkompiliert, kann die Auto-Gruppierung über Kommandos wie "echo [01] > /proc/sys/kernel/sched_autogroup_enabled" nachträglich ein- und ausschalten oder über den Kernel-Boot-Parameter "noautogroup" gleich beim Booten lahm legen. Einige weitere Hinweise für den Einsatz finden sich im Kommentar zur Änderung.
Aufgebohrte Radeon-Treiber
Ein Viertel bis ein Drittel der größeren Änderungen von Linux 2.6.38 dürfte sich damit bereits jetzt im Quellcodeverwaltungssystem finden, obwohl das Merge Window von 2.6.38 gerade erst begonnen hat und noch zirka 12 Tage offen sein sollte. In dieser Zeit dürften unter anderem noch Änderungen an den Grafiktreibern hinzuziehen. Mit ihnen soll die Unterstützung für die Grafik in AMDs kürzlich offiziell eingeführte Fusion-Prozessoren Ontario und Zacate mit Bobcat-Kernen zum Kernel stoßen, denn die dafür zuständigen Patches finden sich bereits in Linux-Next.
AMD-Entwickler Alex Deucher hat vergangene Nacht Patches veröffentlicht, die den Radeon-DRM-Treiber des Kernels um Unterstützung für einen Teil der auch als Northern Islands (NI) bekannte Grafikchips erweitern, die auf den seit Oktober verkauften Radeon-HD-Modellen der 6000er-Serie bis hin zur 6800-Reihe sitzen. Möglicherweise ziehen dieser Verbesserungen noch in Linux 2.6.38 ein, sodass die im Ende März oder Anfang April erwartete Kernel-Version mit diesen Grafikkarten bereits 2D- und 3D-Unterstützung beherrscht. Der dafür nötige Userspace-Code findet sich bereits in Entwicklerversionen von Mesa3D und dem X.org-Treiberpaket xf86-video-ati.
Kernel-based Mode-Setting (KMS) ist für die neuen Chips eine Voraussetzung, UMS (User Mode-Setting) durch den X-Server und dessen Treiber gelingt mit den Norther-Island-Chips nicht mehr. Die von dem noch jungen Code unterstützten Radeon-HD-6000-Chips ähneln in einigen Belangen der Vorgängergeneration (Radeon-HD-5000-Serie, Codename Evergreen). Die Cayman-Chips auf den Mitte Dezember eingeführten Radeon-HD-Modelle 6950 und 6970 haben weniger Gemeinsamkeiten; Unterstützung für diese ist laut Deucher in Arbeit, aber noch nicht bereit für eine Freigabe.
[pagebreak Treiberproblem bei neuen Intel-Chips]
Treiberprobleme bei neuen Intel-Chips
Intel hat vor einigen Tagen eine neue Vorabversion des X.org-Treibers xf86-video-intel 2.14 freigegeben. Zusammen mit kürzlich erschienen oder in Kürze erwarteten Versionen von Linux-Kernel (2.6.37), Libdrm, Libva (1.07) und Mesa3D (7.10) sollen diese volle Unterstützung für den Grafikkern der Sandy-Bridge-Prozessoren bieten, die Intel vor einigen Tagen unter den Modellbezeichnungen Core i3-2000, Core i5-2000 und Core i7-2000 eingeführt hat.
In aktuellen Mainstream-Distributionen finden sich all diese Treibererweiterungen noch nicht, daher laufen sie auf Sandy-Bridge-CPUs nur mit dem VESA-Treiber. Die Installation der benötigten Teile des Grafikstacks ist zudem ziemlich kompliziert und aufwendig, sodass sie tief greifende Linux-Kenntnisse und einiges an Zeit erfordert – die meisten Anwender werden also abwarten müssen, bis der neue Treiber in die Distributionen eingezogen ist.
Die Problematik ist nicht wirklich neu, denn die Situation war bei älteren Intel-Chipsätzen und -Prozessoren anfangs ganz ähnlich, bei Hardware anderer Hersteller häufig sogar noch schlechter. Im Rahmen der Vorstellung der neuen Prozessoren hat das Thema aber wieder für Aufsehen gesorgt – unter anderem durch Berichte wie den der Webseite SemiAccurate. Ein Intel-Mitarbeiter hat dazu in einem Blog-Eintrag Stellung genommen und erklärt, wie es dazu kam.
Der Blog-Eintrag verweist auch auf einen Forumseintrag bei Real World Technologies. In dem erläutert Linus Torvalds seine Erfahrungen bei der Inbetriebnahme eines Sandy-Bridge-Systems und zählt grob die vielen Schritte auf, bis er sein System zum Laufen gebracht hat; er bezeichnet das ganze als lästig. Besser dürfte es erst mit Distributionen wie Ubuntu 11.04 oder Fedora 15 werden, die im Frühjahr erscheinen und deren Vorabversionen jetzt oder in Kürze die für Sandy-Bridge-CPUs benötigten Treiber-Bausteine mitbringen dürften. Es wird sich zeigen müssen, ob das auch für das bereits Anfang März erwartete OpenSuse 11.4 gilt.
Torvalds verleiht in dem Forumkommentar zudem seiner Hoffnung Ausdruck, dass viele Distributionen die Sandy-Brdige-Treiber als Update für jetzt aktuelle Distributionen nachreichen. Bei Enterprise-Distributionen dürfte das früher oder später passieren, bei OpenSuse oder Ubuntu ist so etwas aber erfahrungsgemäß so gut wie nie der Fall; bei Fedora passiert es nur ab und zu. Auch viele andere Distributionen zwingen die Anwender zum Warten auf neuere Versionen (siehe dazu auch den Kommentar Frische Treiber für aktuelle Distributionen).
[Update 20110110-1300] Mittlerweile sind alle für die Sandy-Bridge-Grafik wichtigen Bausteine (u. a. der Intel-X.org-Grafiktreiber 2.14 und Mesa 7.10) erschienen; sie sind Bestandteil des "Intel 2010Q4 release", das alle Komponenten zur Unterstützung der Sandy-Bridge-Grafik enthält und bei intellinuxgraphics.org zum Download bereit steht. [/Update]
Standard-Werkzeuge
Die Werkzeugsammlung util-linux-ng lässt mit der Vorabversion 2.19 nun das "-ng" fallen und heißt nur noch util-linux. Die Anhängsel hatte den Fork der originalen Sammlung von Kommandozeilen-Utilities gekennzeichnet – da Letztere aber nicht mehr weiterentwickelt wird, verzichten die Entwickler seit kurzem auf das "-ng".
In der Freigabe-Mail zählt Karel Zak die wichtigsten Neuerungen für Version 2.19 auf. Neu ist etwa das Programm lsblk, dass alle Datenträger in einer Baumstruktur auflistet. Erstmals dabei ist auch fstrim, das Datenträger mit Hilfe des bei Kernel 2.6.37 eingeführten "Batched Discard" über freigewordene Speicherbereiche informiert, was etwa für SSDs wichtig ist. Die Programme partx, findmnt, agetty und fsck kennen nun weitere Parameter und rtcwake und swapon bieten neue Funktionen.
Kernel-Versionsstatus, Staccato
Kernel-Versionsstatus
Greg Korah-Hartmann hat kürzlich die Änderungen für den Longterm-Kernel 2.6.32.28 (1, 2) und des Stable-Kernel 2.6.36.3 zur Begutachtung gestellt. Die Frist zum Einreichen von Kommentaren läuft am Freitag Abend ab; die neuen Versionen dürften daher in Kürze erscheinen.
Paul Gortmaker hat derweil den Longterm-Kernel 2.6.34.8 freigegeben. Bereits im vergangenen Jahr hat Willy Tarreau den Kernel 2.4.37.11 veröffentlicht und damit das mögliche Ende der 2.4er-Serie auf Ende 2011 verschoben.
Kernel-Log-Staccato
Kernel
- Kurz nach der Freigabe von Linux 2.6.37 hat Luis R. Rodriguez eine neue Version von compat-wireless veröffentlicht, das ältere Kernel-Versionen mit Netzwerk-Treiber des neuen Kernels versorgt.
- Der Hauptentwickler des Codes zum RCU (Read Copy Update) im Linux-Kernel schreibt ein Buch über die für Multicore- und Multiprozessor-Systeme wichtige Parallel-Programmierung; er hatte es veröffentlichen wollen, wenn es fertig ist, kam aber zu dem Schluss, dass es wohl nie wirklich komplette würde, und hat es daher in verschiedenen Formaten inklusive Quellen jetzt angekündigt.
- Christoph Hellwig gibt in den "XFS status updates" für November und Dezember 2010 einen Überblick über die jüngsten Entwicklungen rund um XFS.
- In der Ankündigung zum Realtime-Kernel 2.6.33.7-rt29 deutet Thomas Gleixner an, dass diese Version vermutlich die letzte der 33er-Serie sei und der nächste RT-Kernel wahrscheinlich auf Linux 2.6.37 aufsetzen wird.
Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...
- Junio C Hamano hat die Git-Versionen 1.7.3.5 und 1.7.4-rc1 veröffentlicht; die Freigabe-Mail zu Letzterer liefert einen Überblick über die bei 1.7.4 zu erwartenden Neuerungen.
- Douglas Gilbert hat lsscsi 0.24 fertig gestellt.
- Bereits vor Weihnachten hat Kay Sievers Udev 165 freigegeben.