Kernel-Log: Linus penibler bei neuen Änderungen

So wie es aussieht, wird Linus Torvalds in Zukunft strikter darauf achten, nach Ende des Merge Window nur mehr Änderungen aufzunehmen, die Fehler korrigieren. Torvalds hat sich zudem in die Android-Suspend-Block-Diskussion eingeschaltet und die Situation weiter verkompliziert.

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

Seit Jahren fließen die größten Neuerungen für die jeweils nächste Version des Linux-Kernels im Rahmen des Merge Window in den Hauptentwicklungszweig, das typischerweise zwei Wochen lang ist und mit der Freigabe der ersten Vorabversion (2.6.x-rc1) eines neuen Kernels beendet wird. Anschließend sollten eigentlich nur mehr Patches in den Kernel einfließen, die Fehler beseitigen, ohne neue auszulösen. In der Praxis gab es aber im RC2 oder RC3 immer noch die ein oder andere größere Änderung; einige Aufräumarbeiten, die beispielsweise Compiler-Warnungen beseitigen, zogen vielfach sogar noch später ein.

Das war auch beim derzeit vorbereiteten Kernel 2.6.35 so, dessen zweite Vorabversion noch einige nicht gerade kleine Umbauarbeiten enthielt. Schon bei der Freigabe dieser Version deutete Torvalds an, von nun an nur noch Änderungen aufzunehmen, die Fehler korrigieren. Wie ernst ihm das war, zeigen zahlreiche LKML-Mails von Torvalds aus den darauf folgenden Tagen, wo er Git-Pull-Requests deutlich zurückweist und die Subsystem-Maintainer dazu auffordert, nur mehr Fehlerkorrekturen einzusenden (u. a. 1, 2, 3, 4, 5, 6, 7, 8, 9); selbst einige kleine, vermeintlich ungefährliche Aufräumarbeiten wies er zurück.

Ein Grund für dieses strikte Vorgehen war offensichtlich ein durch eine unscheinbare Änderung ausgelöster Fehler im RC2, durch den Code des TTY-Subsystems einige von anderem Kernel-Code genutzten Speicherbereiche überschrieb, sodass Tester unterschiedliche, teilweise nur schwer reproduzierbare Probleme in verschiedenen Bereichen des Kernels beobachteten. Der zweite Grund für das striktere Vorgehen ist hingegen weltlicher: Torvalds ist nach der Freigabe des RC3 in Urlaub verschwunden und wollte Testern einen möglichst gut laufenden Kernel hinterlassen. Trotzdem scheint die Situation nicht einmalig zu bleiben, denn in einigen Mails deutet Torvalds an, vermutlich auch in Zukunft strikter darauf zu achten, dass nach Ende der Merge Window nur mehr Fehlerkorrekturen in den Hauptentwicklungszweig einziehen – wie penibel er dabei vorgeht, müssen die kommenden Monate zeigen.

Der neuste der meist wöchentlich erscheinenden "Regression Reports" von Rafael J. Wysocki weist derweil 26 Fehler bei Linux 2.6.35-rc3 aus, die 2.6.34 noch nicht zeigte; außerdem enthält die aktuelle Vorabversion von 2.6.35 noch 28 Fehler, die während der Entwicklung von Linux 2.6.34 eingeschleppt wurden.

Seit dem letzten Kernel-Log gab es mit Linux 2.6.32.15 nur einen neuen Stable-Kernel. Er enthält lediglich zwei Änderungen, die Fehler des direkten Vorgängers beseitigen – wer diesen einsetzt, ohne dass sich Probleme zeigen, kann sich die Aktualisierung sparen.

Kernel

  • Die bereits im letzten Kernel-Log erwähnte Diskussion um das von Google für Android entwickelte Suspend Block API (früher Wakelocks) ging noch einige Tage weiter. Schließlich stieg auch Linus Torvalds in die Diskussion ein und kritisierte einen zuvor von Ingo Molnar präsentierten Lösungsvorschlag. Durch diesen und einige weitere Einwürfe des Linux-Schöpfers scheint eine baldige Lösung der Situation noch unwahrscheinlicher als zuvor; möglicherweise zieht aber etwas Kompatibilitätscode in den Kernel ein, der die Aufnahme von auf das Suspend Block API abgestimmten Andorid-Treibern in den Hauptentwicklungszweig von Linux erheblich erleichtert, bis eine bessere Lösung gefunden wird. Details zu den komplexen Problematik hat kürzlich LWN.net in mehreren Artikel zusammengefasst (1, 2).
  • Christoph Hellwig gibt im "XFS status update for Mai 2010" einen Überblick über die jüngsten Änderungen rund um das XFS-Dateisystem.
  • Edward Shishkin, der früher an Reiser4 arbeitete und mittlerweile bei Red Hat angestellt ist, hat ein Problem in Btrfs gefunden, das beim Einsatz von Inline Extents auftritt. Er erklärt, dass nur ein größeres Redesign des Dateisystems das Problem lösen könne, und kritisiert den Dateisystemcode mit teilweise recht deutlichen Worten (1, 2). Der Btrfs-Hauptentwickler Chris Mason sieht das Problem etwas gelassener; Red-Hat-Entwickler Josef Bacik, der in den vergangenen Monaten eine ganze Reihe von Verbesserungen zu Btrfs beigesteuert hat, äußerte sich bislang nicht öffentlich zur Kritik seines Kollegen.
  • Die von Android-Entwickler Erik Gilling vorangetriebenen Kernel-Patches zur Unterstützung von Nvidias mit ARM-Kern ausgestatteten System-on-a-Chip (SOC) der Tegra-Familie wurden kürzlich in linux-next aufgenommen und dürften in Linux 2.6.36 einziehen.
  • James Morris hat das Programm des für August geplanten Linux Security Summit 2010 veröffentlicht und gibt in seinem Blog eine grobe Übersicht über die Veranstaltung.
  • Das ursprünglich Compcache und dann Ramzswap genannte Framework zum indirekten Komprimieren von Teilen des Arbeitsspeichers wird nach einigen größeren Überarbeitungen bei 2.6.36 wohl in Zram umbenannt.
  • Valerie Aurora arbeitet weiter daran, eine Union-Mount-Lösung zu entwickeln, die gut genug für eine Aufnahme in den Standard-Kernel ist (1, 2).
  • Dell-Mitarbeiter und HPC-Spezialist Jeffrey B. Layton hat in einem Artikel die Neuerungen zusammengefasst, die es im letzten Jahr im Storage-Bereich der Linux-Kernels gab.
  • MD- und Mdadm-Entwickler Neil Brown schreibt Code, durch den der MD-Code des Kernels beim RAID 1 besser mit defekten Festplatten-Sektoren zurechtkommt. Außerdem arbeitet er an Patches, durch die sich der MD-RAID5-Code mit dem Device-Mapper nutzen lässt, um etwa mit Dmraid ein Host-RAID 5 anzusprechen – letzteres gelingt bislang nur mit Kernel-Patches, die seit Jahren existieren, aber nie in den offiziellen Kernel eingingen.

Grafik

  • Peter Hutterer war in den vergangenen Tagen und Wochen besonders aktiv und hat vor kurzem unter anderem den zweiten RC der in Kürze erwarteten X-Server-Version 1.8.2 veröffentlicht. Außerdem gab er eine Vorabversion des X.org-Touchpad-Treibers xf86-input-synaptics 1.3.0 frei, die sich bei der Beschleunigungserkennung anders verhält; Details dazu erläutert er in seinem Blog. Dort hat Hutter kürzlich auch einen ausführlichen Eintrag verfasst, der die verschiedenen Fähigkeiten des Touchpad-Treibers – etwa Edge Scrolling, Two-Finger-Scrolling, Multi-Finger-Tapping oder Circular Scrolling – ausführlich erläutert. Ebenfalls im Blog weist er auf neue Standardvorgaben für die Emulation der mittleren Maustaste hin.
  • Keith Packard hat die erste Vorabversion des für Ende August geplanten X-Server 1.9 veröffentlicht. Ähnlich wie beim Linux-Kernel nach Ende des Merge Window tritt die Entwicklung der nächsten größeren Überarbeitung des X-Server damit nun in die Stabilisierungsphase ein. Packard hebt hervor, dass die nächste Version des X-Servers nicht sonderlich viele neue Funktionen bringt, aber zahlreiche seit langem störende Eigenschaften beseitigt, wodurch der Code nun sauberer und leichter zu verstehen sei.
  • AMD hat die Version 10.6 der als Fglrx oder Catalyst bekannten Linux-Grafiktreiber veröffentlicht. Sie bringen offizielle Unterstützung für OpenGL 4.0 bei Grafikkarten der Radeon-HD-5000-Serie und OpenGL 3.3 bei älterer Radeon-HD-Grafikhardware. Eine "neue Architektur für 2D-Beschleunigung" soll die 2D-Performance steigern und etwa das Anpassen der Fenstergröße beschleunigen. Ferner zählt Red Hat Enterprise Linux 5.5 nun zu den voll unterstützten Betriebssystemen. Weitere Details zu den Änderungen finden sich in den Release Notes zur neuen Version.
  • Die neue Version des "R5xx 3D programming guide" ist in einigen Bereichen detaillierter als ältere Versionen des Dokuments.
  • Die Mesa-Entwickler haben die Version 7.8.2 von Mesa 3D freigegeben. Intel-Entwickler Eric Anholt hatte kurz zuvor bereits libdrm 2.4.21 veröffentlicht.
  • Mit der Freigabe der als Release Candidate eingestuften Version 256.35 nähert sich die Hauptentwicklungsphase von Nvidias Grafiktreibern der 256er-Serie dem Ende.
  • Intel hat den ersten Release Candidate des X.org-Grafiktreiber intel 2.12 veröffentlicht. Die Freigabe-Mail hebt zahlreiche Performance-Verbesserungen hervor, was sich etwa positiv auf die Scroll-Geschwindigkeit in Firefox auswirken soll.
  • Intel will die Betreuung der WLAN-Treibern ipw2x00 aufgeben und muss sich dafür unter anderem Kritik von Kernel-Entwickler David Miller anhören, da Intel keine Dokumentation zu den von den Treibern unterstützten WLAN-Chips veröffentlicht hat, was die weitere Treiber-Pflege erheblich erschwert.

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

  • Karel Zak hat Vorabversionen der util-linux-ng 2.18 freigegeben und listet in der Freigabe-Mail zum ersten der zwei RCs gleich zahlreiche Neuerungen. So wird die allen Mainstream-Distributionen genutzten Werkzeugsammlung in Zukunft die Programme findmnt, fsfreeze und swaplabel sowie die Library libmount mitbringen; rausgeflogen sind die Kommandos ramsize, rdev, rootflags und vidmode.
  • Lennart Poettering hat die Präsentationsfolien seine LinuxTag-Vortrags zur Init- und Upstart-Alternative systemd ins Web gestellt.
  • Gnome-Entwickler John (J5) Palmieri berichtet in seinem Blog über einige Fortschritte bei der Multitouch-Unterstützung in X.org und dem GTK-Toolkit.
  • Jon Masters hat die module-init-tools v3.12 freigegeben, deren größte Neuerungen das das zugehörige Wiki auflistet. Durch Softdeps etwa sollen Modprobe nun implizite Abhängigkeiten zwischen Modulen besser handhaben; außerdem untersüttzt die neue Version die mit Linux 2.6.35 eingeführten Devnames, durch die Udev einige Module automatisch beim Zugriff auf ein Device-Node laden kann, bei denen die normalen Lade-Automatiken bisher nicht funktionierten.
  • Bereits Anfang des Monats hat Kay Sievers die Udev-Version 157 freigegeben, die im wesentlichen Fehlerkorrekturen enthält.
Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs auf heise open. 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". Der Autor des Kernel-Logs zwitschert unabhängig davon über einige Kernel-Log-Themen bei Identi.ca und Twitter als "@kernellogauthor". (thl).