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.

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).