Die Neuerungen von Linux 2.6.35 | heise online

Die Neuerungen von Linux 2.6.35

Unterstützung für die Stromsparmechanismen von AMD-Grafikchips, auf Mehrkernprozessoren optimierter Netzwerk-Code, Funktionen zum Defragmentieren des Arbeitsspeichers und verbesserte Unterstützung für die Stromspar- und Turbo-Funktionen moderner Prozessoren sind einige der Neuerungen, mit der die neue Kernel-Version besticht.

vorlesen Druckansicht 16 Kommentare lesen
Lesezeit: 17 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Nach knapp zweieinhalb Monaten Entwicklung hat Linus Torvalds den Linux-Kernel 2.6.35 freigegeben. Genau wie andere aus dem Hauptentwicklungszweig von Linux hervorgegangene Versionen enthält auch der Nachfolger des Mitte Mai erschienenen Linux 2.6.34 wieder zahlreiche Verbesserungen.

So kann der Kernel nun zahlreiche Stromsparfunktionen von Radeon-Grafikchips oder die H264-Decodierfunktionen im Intel-Ironlake-Treiber nutzen. Das Btrfs-Dateisystem beherrscht Direct I/O und soll nicht mehr ins Straucheln geraten, wenn der Speicherplatz ausgeht. Mehr Netzwerkdurchsatz und geringere Latenzen auf Mehrkern-Systemen versprechen einige von Google eingebrachter Verbesserungen.

Hinzu kommen Optimierungen am Code für die Stromsparfunktionen moderner Prozessoren und volle Unterstützung für die Turbo-Core-Funktion von AMDs jungen Sechkern-CPUs. Neu sind auch Tracing-Schnittstellten für den KVM-Hypervisor, ein weiteres Programm zur Kernel-Konfiguration und Funktionen zum Defragmentieren des Arbeitsspeichers. Und wie immer gibt es hunderte neuer oder überarbeitete Treiber – darunter ausgebaute Unterstützung für USB 3.0 oder Verbesserungen am WLAN-Treiber ath_5k, die die Übertragungsraten steigern.

Das folgende Kernel-Log bietet einen Überblick über diese und zahlreiche weitere Neuerungen von Linux 2.6.35. Die sind letzten Endes für alle Linux-Anwender von Bedeutung, da zukünftige Linux-Distributionen auf Kernel 2.6.35 oder dessen Nachfolger aufsetzen werden und so für eine Verbreitung der Verbesserungen sorgen. Am Ende des Artikels wagen wir zudem einen Ausblick auf die Neuerungen, die einige Entwickler zur Aufnahme bei Linux 2.6.36 vorbereitet haben.

Die bei Linux 2.6.34 eingebrachte, aber dort noch rudimentäre Unterstützung für die Stromsparfunktionen von Radeon-Grafikchips haben die Kernel-Hacker bei 2.6.35 erheblich ausgebaut und optimiert. Wie aggressiv der Treiber Strom zu sparen versucht, lässt sich über /sys/class/drm/card0/device/power_method beeinflussen. Das Schreiben von "dynpm" in diese Datei aktiviert etwa das vollautomatische dynamische Power-Management. Alternativ kann man "profile" hineinschreiben und anschließend via /sys/class/drm/card0/device/power_profile
eines von vier Profilen festlegen: "default" sorgt für Standard-Takte bei GPU und Speicher, "low" aktiviert einen stromsparenden Modus, "high" eine performante Einstellung und "auto" schaltet abhängig von der Stromversorgung automatisch zwischen "low" und "high" um.

Der Treiber für die meisten integrierten Grafikkerne in Intel-Chipsätzen bringt nun alle Grundlagen (u. a. den Bit Stream Decoder Ring Buffer) zur Nutzung der H264-Decodierfunktionen mit, die die mit Grafikkern ausgestatteten Ironlake-CPUs bieten. Um diese nutzen zu können, wird auch neue Userland-Software wie die libva sowie eine diese Bibliothek verwendende Player-Software benötigt; weitere Details und Download-Links für die benötigte Software finden sich auf einer von Intel betreuten Webseite. Neu ist auch die Unterstützung für Memory Self-Refresh im Treiber für Ironlake-Prozessoren, die laut Tests des Entwicklers die Leistungsaufnahme auf einem Test-Notebook um ein Watt reduziert habe.

Das weiterhin experimentelle Btrfs-Dateisystem unterstützt ab 2.6.35 Direct I/O – also den Zugriff auf Dateien unter Umgehung der Kernel-Caches, was etwa für Datenbank-Software mit eigenen Cache-Funktionen von Interesse ist. Bereits bei 2.6.32 gab es zahlreiche Verbesserungen am Btrfs-Code, um Probleme zu vermeiden, wenn der Speicherplatz zu Ende geht; unter bestimmten, eher selten anzutreffenden Umgebungsbedingungen entstanden aber weiter Schwierigkeiten, die einige nun aufgenommene Patches fortan verhindern sollen (u. a. 1, 2, 3, 4).

Wie bislang wird der Kernel Schreibbarrieren, die die Datensicherheit steigern, aber die Performance mindern, bei Ext4 standardmäßig aktivieren und bei Ext3 nicht nutzen – einige Anpassungen an den Modul-Parametern und der Dokumentation sollen allerdings etwas Verwirrung aus dieser historisch gewachsenen Inkonsistenz nehmen. SquashFS beherrscht nun erweiterte Attribute, was den Einsatz mit SELinux ermöglicht. Der Fuse-Code im Kernel kann zum Datenaustausch mit dem Userspace Splice verwenden, was einen Kopiervorgang der Daten im Arbeitspeicher eliminiert und so die Performance des "File System in Userspace" steigert (1, 2, 3).

Mehr Infos

Im Detail

Einen detaillierten Überblick über die Änderungen der Linux-Version 2.6.35 hat die Kernel-Log-Mini-Serie "Was Linux 2.6.35 bringt" bereits in den vergangenen Wochen gegeben:

1. Unterstützung für Grafik-Hardware

2. Dateisysteme und Storage

3. Netzwerk-Subsystem

4. Architektur-Code, Tracing und Virtualisierung

5. Weitere Treiber

Der nebenstehende Artikel zu den Neuerungen von Linux 2.6.35 erwähnt die wichtigsten der in den fünf Teilen der Mini-Serie genannten Verbesserungen. Einige Änderungen sind dort allerdings ausführlicher beschrieben oder verweisen zu weiteren Informationsquellen; die Artikel der Mini-Serie listen außerdem noch zahlreiche weitere nicht gar so wichtige, aber alles andere als unwichtige Änderungen.
Am Ende jedes Artikels findet sich unter der Überschrift "Die kleinen Perlen" zudem Listen mit etlichen kleineren Neuerungen. Einige von ihnen dürften für manche Anwender aber dennoch von großer Bedeutung sein. Der Artikel zu Treibern etwa verweist auf zahlreiche Patches, die die Unterstützung der Audio-Hardware verschiedener PC-, Notebook- und Mainboard-Modelle verbessern; in den Listen zu den Änderungen im V4L/DVB-Subsystem finden sich zudem viele Produktnamen von TV-Hardware, die der Linux-Kernel mit den neuen Version nun ansteuern kann.

Google-Entwickler Tom Herbert steuerte gleich zwei größere Verbesserungen am Netzwerk-Subsystem von Linux 2.6.35 bei: Receive Packet Steering (RPS) und Receive Flow Steering (RFS). Die erstgenannte Technik verteilt die Schritte zur Verarbeitung von empfangenen Netzwerkpaketen auf die verfügbaren Prozessorkerne, sodass diese die Verarbeitungsschritte ab der Protokollebene parallel erledigen. Zusammen mit anderen Funktionen emuliere RFS so letztendlich die Funktion von Multi-Queue-Netzwerkkarten in Software.

Die zweite Technik baut auf der ersten auf und versucht, die Abarbeitung der Layer 3 und 4 des Netzwerkprotokolls gleich auf den Prozessorkern zu lenken, auf dem auch die Userspace-Applikation läuft, die die Netzwerkdaten später weiterverarbeitet. Wie das funktioniert, umreißt der Kernel-Hacker grob in Kommentar zum Commit im Quellcodeverwaltungssystem. Auch dieser enthält einige Messergebnisse, laut denen der Durchsatz im Vergleich zu RFS noch ein wenig weiter steigt; die Benchmark-Werte weisen zudem deutlich kürzere Latenzzeiten aus. Weitere Details zu den Techniken liefern auch Artikel zu RPS und RFS bei LWN.net.

Der Kernel lädt nun automatisch als Modul kompilierte Treiber für Chips, die sich um den Physical Layer kümmern ("Ethernet PHYs"), wenn der Netzwerk-Treiber sie benötigt – man muss also nicht mehr manuell darauf achten, das Modul für den PHY vor dem Modul für den MAC zu laden. Der Treiber be2net unterstützt nun die für Virtualisierung interessante Single Root I/O Virtualization (SR-IOV) – kann also virtuelle Netzwerkkarten bereitstellen, die Gastsysteme direkt nutzen, was den Host entlastet und den Netzwerkdurchsatz teilweise deutlich steigert.

Neu zum Kernel stieß der WLAN-Treiber ath9k_htc für WLAN-Hardware mit den Atheros-Chipsätzen AR7010 oder AR9271. Durch eine Implementation von Adaptive Noise Immunity (ANI) soll der Treiber ath5k für ältere Atheros-WLAN-Chips nun höhere Übertragungsraten in Umgebungen erreichen, wo es viele Signalstörungen gibt; bei Tests in einer solchen habe der Patch die Übertragungsrate nahezu verdoppelt.

Der Cpuidle-Code führt nun Buch über die letzten Schlafphasen des Prozessors und versucht wiederkehrende Muster zu erkennen – etwa ein häufiges Aufwachen, kurz nachdem der Prozesser schlafen gelegt wurde. Diese Informationen nutzt der Code, um besser entscheiden zu können, ob und wie tief er den Prozessor in der nächsten Ruhephase schlafen legt. Ferner wertet der Ondemand-Governor des Cpufreq-Codes nun die Wartezeit auf die Fertigstellung von I/O-Aufgaben bei manchen Prozessoren wie normale CPU-Last, sofern man es nicht anders konfiguriert. Diese beiden Änderungen sollen den Datendurchsatz von manchen teilausgelasteten Systemen deutlich steigern, denn in der Vergangenheit hatte der Kernel bei manchen Systemen und Zugriffsmustern die CPU-Stromsparmodi zu aggressiv genutzt, sodass Einschlaf- und Aufwachzeiten der CPU den Datenfluss erheblich verlangsamten.

Dem Kernel liegt nun der experimenteller Treiber intel_idle bei, der direkt einige Stromsparmechanismen von Intel-CPUs kontrolliert, statt dies den häufig schlecht programmierten ACPI-BIOSen zu überlassen – Hintergründe dazu liefert neben dem Commit-Kommentar auch eine Meldung bei LWN.net. Kernel 2.6.35 wird zudem Unterstützung für das in der ACPI-4.0-Spezifikation beschriebene APEI (ACPI Platform Error Interface) inklusive der Error Record Serialization Table (ERST) bieten (u. a. 1, 2, 3, 4, 5, 6, Dokumentation). Über diese Schnittstellen kann die Hardware das Betriebssystem über Hardware-Probleme – etwa beim Chipsatz oder beim Speicher – informieren.

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 Commit-Kommentar im oberen Bereich der vom Git-Web-Frontend angezeigten Webseite 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.

Durch Memory Compaction (u. a. 1, 2, 3, 4) kann der Kernel bei Bedarf den Arbeitsspeicher defragmentieren, um große, zusammenhängende Bereiche freien Speichers zu schaffen. Solche lassen sich bei modernen CPUs mit großen Speicherseiten (etwa 2 MByte statt 4 KByte großer Pages) nutzen, was den Verwaltungs-Overhead im Prozessor reduziert und so die Performance gerade bei Virtualisierung oder beim Einsatz großer Datenbanken steigern kann. Weitere Hintergründe zur Speicher-Defragmentierfunktion liefert ein Artikel bei LWN.net.

Linux 2.6.35 bringt zudem volle Unterstützung für die Turbo Core genannte Funktion, durch die einige vor einigen Wochen eingeführte Sechskernprozessoren von AMD den Takt einzelner Kerne steigern, wenn mindestens drei Kerne schlafen. Über Procfs kann man das Vorhandensein von Turbo-Core-CPUs erkennen; via Sysfs lässt sich die Taktsteigerung auf Wunsch deaktivieren. Damit geht die Geschichte um die Performance-Probleme der Turbo-Core-Prozessoren bald zu Ende, nachdem bereits die Stable-Kernel 2.6.32.13, 2.6.33.4 und 2.6.34 Korrekturen brachten, durch die AMDs Sechskerner wenigstens den Nominaltakt erreichten.

Die größten Neuerungen der Virtualisierungslösung KVM erwähnt Avi Kivity in seinem Git-Pull-Request: Ein Port auf PPC64, Verbesserung für den Timercode, viel Arbeit am Emulator-Code sowie Fähigkeiten, um KVM-Gastsysteme vom Host aus mit "perf" zu zu analysieren. An der Tracing- und Performance-Monitoring-Infrastuktur gab es zudem haufenweise weitere Änderungen, wie etwa die Unterstützung für die Monitoring-Funktionen älterer Pentium-4-CPUs (1, 2) sowie Intels "Precise Event Based Sampling" (PEBS), mit dem sich Informationen über einzelne Speicherabschnitte beschaffen lassen. Neue Text-User-Interfaces für "perf report" (u. a. 1, 2) und "perf annotate" (u. a. 1, 2, 3, 4) sollen die Analyse der gesammelten Daten erleichtern.

Nach mehreren Anläufen stieß zudem der Kdb genannte Kernel-Debugger zum Kernel (1, 2, Dokumentation). Dessen Code basiert auf der Version 4.4 des Kdb von SGI und besitzt etwas andere Fähigkeiten als die schon länger im Kernel enthaltenen und auf ein zweites System angewiesenen Debugging mit Kgdb, dessen Code an einigen Stellen mit dem von Kdb verflochten wurde. Weitere Details zu Kdb finden sich in einem Artikel bei LWN.net, der vom Entwickler auf Kernel.org bereitgestellten Dokumentation und den beiden Git-Pull-Request (1, 2).

Mehr Infos

Linux-Kernel herunterladen

Neue Linux-Versionen sind über die in Server von Kernel.org erhältlich; deren Inhalte spiegeln auch zahlreiche Mirror in Deutschland, Österreich und der Schweiz. Linux-Anwender, die sich nicht intensiv mit dem Kernel und dessen Umfeld beschäftigen, sollten neue Linux-Treiber und -Kernel aber normalerweise nicht auf eigene Faust einspielen, sondern auf die Kernel der Linux-Distributoren zurückgreifen. (...mehr...)

Die vom Alsa-Projekt betreuten Sound-Treiber des Kernels sind mit 2.6.35 auf dem Niveau der Alsa-Version 1.0.23. Neu dabei ist der Treiber snd-asihpi für ASI-Soundkarten von AudioScience. Größere Umstrukturierungen und zahlreiche Verbesserungen gab es zudem am Code zur Unterstützung von USB-Audio – vieles davon bringt die bei 2.6.34 eingebrachte Unterstützung für die Version 2.0 der USB-Audio-Spezifikation auf Vordermann (u. a. 1, 2, 3, 4, 5, 6).

Ein neues, maßgeblich vom V4L-/DVB-Maintainer Mauro Carvalho Chehab vorangetriebenes "Remote Controller Subsystem" soll die Grundlagen für eine bessere Unterstützung von Infrarotfernbedienungen legen (u. a. 1, 2, 3, 4, 5). Bislang lieferten die meisten Distributionen dafür Lirc-Treiber mit, die jedoch den Qualitätsansprüchen der Kernel-Entwickler nicht genügten und in Zukunft vielleicht in abgewandelter Form mit dem neuen Subsystem zusammenarbeiten sollen.

  • Die über Medienwechseln bei ATAPI-Geräten berichtende Asynchronous Notification (AN) ist nun standardmäßig deaktiviert und lässt sich fortan über den neuen Treiber-Parameter "atapi_an" aktivieren.
  • Die RAID10-Unterstützung gilt nun nicht mehr als experimentell. Der Code des MD-Subsystems bietet zahlreiche weitere Konvertierungsmöglichkeiten: Raid0->Raid5, Raid0->Raid10, Raid5->Raid4, Raid4->Raid0 sowie Raid5->Raid0 und Raid10->Raid0.
  • Über das neue Make-Target "nconfig" lässt sich ab 2.6.35 ein auf Ncurses aufbauendes Text-Interface zur Kernel-Konfiguration aufrufen, das ein etwas moderneres Bedienkonzept als "menuconfig" bieten will.
  • Um die Skalierbarkeit zu verbessern, haben die Kernel-Entwickler die Nutzung des Big Kernel Lock (BKL) abermals reduziert (u. a. 1, 2, 3, 4, 5, 6).
  • Der xHCI-USB-Treiber unterstützt ab 2.6.35 die Datenübertragung mit den bei USB 3.0 eingeführten "Bulk Endpoint Streams". Sie sind eine Voraussetzung für einige noch in Entwicklung befindliche Patches, die den USB-Storage-Treiber des Kernels um Unterstützung für das USB Attached SCSI Protocol (UASP) erweitern, das USB-3.0-Datenträgern zu besseren Übertragungsraten verhilft.
  • Ab Version 2.6.35 liegt dem Linux-Kernel der Treiber i7core_edac bei, der Unterstützung für EDAC (Error Detection And Correction) von Intels Nehalem-Prozessoren nachrüstet – also Prozessoren wie den Core i7 oder die Xeon-CPUs der Baureihen 35xx und 55xx.
Mehr Infos

Was sich an den Treibern für Ihr System geändert hat

Über das Git-Web-Frontend auf Kernel.org lassen sich Informationen zu Änderungen an einzelnen Dateien des Linux-Kernels aufrufen – das können Sie nutzen, um herauszufinden, ob es Neuerungen an den auf Ihrem System eingesetzten Treibern gab. Dazu muss man allerdings wissen, wo sich die Treiberdateien im Quellcodebaum des Linux-Kernels finden. Bei den modularisierten Kerneln der Distributionen helfen häufig die Ausgaben des Programms modinfo bei der Suche, das man mit den von lsmod ausgegebenen Namen der geladenen Module aufruft:

$ /sbin/modinfo e100 e1000 | grep filename:
filename: /lib/modules/[...]/kernel/drivers/net/e100.ko
filename: /lib/modules/[...]/kernel/drivers/net/e1000/e1000.ko

Liegt ein kompiliertes Modul etwa in [...]/kernel/drivers/net/e100.ko, dann findet sich dessen Quellcode im Linux-Quellcodearchiv normalerweise im Verzeichnis drivers/net/ in Dateien mit ähnlichem Namen – etwa e100.c im Falle des Treibers e100 für 100-MBit-Netzwerkhardware von Intel. Andere Module wie der für Intels PCI-Gigabit-LAN-Chips zuständige Treiber e1000 haben hingegen ein eigenes Verzeichnis unterhalb von drivers/net/.

Kennt man die ungefähre Position des Treiber-Quellcodes, navigiert man im Git-Webinterface der Linux-Quellen über die Tree-Ansicht zu den jeweiligen Quellcode-Dateien und ruft über den Link "History" eine Übersicht über die jüngsten Änderungen an den zugehörigen Dateien oder dem ganzen Verzeichnis auf. Im Verzeichnis für die Netzwerktreiber lassen sich so beispielsweise die Änderungen am Treibercode von e100 (drivers/net/e100.c) und e1000 (drivers/net/e1000/) anzeigen und begutachten.

Linux- Version Anzahl Dateien¹ Zeilen
Quelltext²
(Ohne Dokum.)
Entwick-lungs- zeitraum Anzahl Commits³ Diffstat⁴
2.6.29 26668 11010647
(9871260)
89 Tage 11718 10933 files changed,  1347290 insertions(+),  532055 deletions(-)
2.6.30 27879 11637173
(10419567)
78 Tage 11989 10259 files changed,  1086737 insertions(+),  460298 deletions(-)
2.6.31 29111 12046317
(10778469)
92 Tage 10883 8938 files changed,  914135 insertions(+),  504980 deletions(-)
2.6.32 30485 12610030
(11242136)
84 Tage 10998 10315 files changed,
 1092987 insertions(+),
 530428 deletions(-)
2.6.33 31565 12990041
(11564768)
83 Tage 10871 9673 files changed,
 859458 insertions(+),
 479452 deletions(-)
2.6.34 32297 13320934
(11861616)
82 Tage 9443 11154 files changed,
 609854 insertions(+),
 278958 deletions(-)
2.6.35 33316 13545604
(12250679)
77 Tage 9801 8889 files changed,
 691927 insertions(+),
 467252 deletions(-)
¹ find . -type f -not -regex '\./\.git/.*' | wc -l
² find . -type f -not -regex '\./\.git.*' | xargs cat | wc -l (find . -name *.[hcS] -not -regex '\./\.git.*' | xargs cat | wc -l)
³ git-log --no-merges --pretty=oneline v2.6.(x-1)..v2.6.(x) | wc -l
⁴ git diff --shortstat v2.6.(x-1)..v2.6.(x)

Welche Entwickler und Firmen viele Patches beigesteuert haben und einige andere statistische Auswertungen zu den Änderungen bei 2.6.35 liefert auch der Artikel "Kernel development statistics for 2.6.35" bei LWN.net.

Die Verbesserungen rund um die Stromspar- und Turbo-Funktionen moderner Prozessoren und die Unterstützung für die Stromspartechniken von Radeon-Grafikchips zählen zu den für Endanwender wichtigen Verbesserungen von 2.6.35. Nicht zu vergessen ist auch der Code zur Nutzung der H.264-Beschleunigungsfunktionen mit den Grafikkernen in Intels aktuellen CPUs, da Letztere in vielen aktuellen und in nächster Zeit gefertigten PCs und Notebook stecken.

Zusammen mit zahlreichen weiteren, teilweise eher für Server oder Unternehmenskunden interessanten Verbesserungen sowie hunderten neuer und überarbeiteter Treiber ist 2.6.35 so wieder ein ordentlicher Schritt in der Linux-Evolution. Er ist allerdings keiner der größten, denn 2.6.35 bringt etwas weniger wichtige Änderungen als viele andere in den vergangenen ein oder zwei Jahren erschienenen Kernel-Versionen.

Direkt nach der Fertigstellung von 2.6.35 beginnt nun das üblicherweise zwei Wochen lange Merge Window, in dem die Kernel-Entwickler den Großteil der Änderungen für die nächste Kernel-Version in den Hauptentwicklungszweig von Linux integrieren. Für diese erste Phase im Entwicklungszyklus haben die Kernel-Hacker schon wieder zahlreiche, teilweise bereits erwähnte Änderungen vorbereitet.

Mehr Infos

Entwicklungszyklus des Linux-Kernels

Durch den öffentlichen Entwicklungsprozess (und einen tiefen Blick in den Kaffeesatz) können das Kernel-Log und der von der Linux-Foundation gewartete Radarschirm des Linux Weather Forecast bereits bei der Vorstellung einer neuen Kernel-Version einige Neuerungen benennen, die die folgenden Versionen mitbringen dürften. [...] (...mehr...)

So sind Patches zur Aufnahme vorgesehen, die die Nutzung des BKL weiter reduzieren (u. a. 1, 2, 3). Ein Teil von ihnen berührt recht komplizierte Bereiche des Kenrel-Codes, daher musste selbst Kernel-Urgestein Alan Cox eingestehen an, dass erst der Feldtest zeigen kann, ob weiterhin alles wie gewünscht funktioniert. Die Kernel-Hacker nähern sich allerdings langsam ihrem Ziel, alle auf Standard-Systemen gängigen Code-Pfade BKL-frei zu gestalten.

Nach jahrelangem Hin- und Her sieht alles so aus, als ob das Security-Framework AppArmor mit 2.6.36 endlich in den Kernel einziehen wird (1, 2). Das ursprünglich Compcache genannte und im Staging-Bereich angesiedelte Ramzswap wird in "zram" umbenannt und abermals im Funktionsumfang leicht angepasst; einige Messergebnisse dazu finden sich auf der Hauptseite des Google-Code-Projekts zramperf. In den Staging-Bereich gehen vermutlich auch einige Lirc-Treiber ein. Möglicherweise sollen auch Patches in 2.6.36 einziehen, durch die der Device Mapper den RAID-5-Code des Mapper Device (MD) nutzen kann – dadurch könnte dmraid endlich ohne die bislang außen vor gebliebenen Kernel-Erweiterungen die HostRAID-5-Funktionen nutzen, die viele moderne Mainboard-Chipsätze und günstige RAID-Adapter bieten.

Die kommenden Tage werden zeigen, welche dieser Änderungen Torvalds tatsächlich in den Hauptentwicklungszweig integriert. Wie üblich wird das Kernel-Log in c't und auf heise open über diese und andere wichtige Neuerungen am Linux-Kernel und in dessen Umfeld berichten – dazu zählen auch neue Versionen der Stable-Kernel-Series (2.6.35.y), die in den kommenden Wochen den einen oder anderen Fehler korrigieren dürften, der bei der Arbeit an 2.6.35 übersehen oder ignoriert wurde.

Zudem wird sich das Kernel-Log auf heise open wie üblich im Rahmen einer Artikel-Serie mit dem Titel "Was 2.6.36 bringt" umfassend mit den Neuerungen der nächsten Kernel-Version auseinander setzen. Freigeben dürfte Torvalds den Linux-Kernel 2.6.36 vermutlich im Oktober, sofern er und seine Mitstreiter sich mit dem üblichen Tempo arbeiten; die wichtigsten Änderungen dieser Version wird dann wieder ein Kernel-Log wie dieses auf heise open zusammenfassen.

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". Gelegentlich zwitschert der Autor des Kernel-Logs unabhängig davon über einige später meist auch im Kernel-Log erwähnte Themen als "@kernellogauthor" bei Identi.ca und Twitter.

(thl) (thl)