Kernel-Log: Entwicklung von 2.6.27 läuft flott an, Alsa 1.0.17 freigegeben

2.6.27 wird das Big Kernel Lock weniger nutzen und Firmware anders handhaben. Erstmals dabei sein wird ferner das Test- und Debbugging-Framework Ftrace und neue Audio-Treiber, die das Alsa-Projekt kürzlich veröffentlicht hat.

In Pocket speichern vorlesen Druckansicht 49 Kommentare lesen
Lesezeit: 5 Min.
Von
  • Thorsten Leemhuis

Kaum 24 Stunden nach der Freigabe von Linux 2.6.26 am Montagmorgen begann Linus Torvalds mit dem Einpflegen der ersten von anderen Linux-Entwicklern eingesandten Patches in den nun zu 2.6.27 führenden Hauptentwicklungszweig. Unter den bis jetzt 2812 vorgenommenen Commits im Quellcodeverwaltungssystem von Linux finden sich daher bereits zahlreiche Neuerungen der nächsten größeren Kernel-Version.

Dazu zählen etwa Änderungen, die einige Aufrufe des Big Kernel Lock (BKL) in den höheren Schichten des Kernel eliminieren oder weiter nach unten verlagern – also beispielsweise aus den verschiedenen Treibersubsystemen in die Hardwaretreiber selbst. Letztere sollen sich dann möglichst individuell und nur wenn unbedingt nötig um die im Mehrprozessorbetrieb unerlässliche Absicherung kritischer Codebereiche kümmern. Langfristig wollen die Kernel-Entwickler das Big Kernel Lock komplett entfernen – die jetzt aufgenommenen Änderungen sind aber nur die ersten Schritte dieses Vorhabens, dessen Umsetzung wohl mehrere Monate oder Jahre in Anspruch nehmen dürfte.

Ebenfalls in den Hauptentwicklungszweig aufgenommen wurden die von David Woodhouse entwickelten Patches, die die Handhabung der unter anderem von vielen LAN-, WLAN- und SCSI-Chips benötigten Firmware verändern. So wurden viele der ältere Kernel-Treiber angepasst, sodass sie die Firmware vom Initrd oder dem Root-Dateisystem über den Firmware-Loader nachladen, statt die Firmware direkt mitzubringen. Zudem lasst sich die Firmware nun an das Kernel-Image anschweißen, damit früh im Bootvorgang benötigte Treiber diese nun ebenfalls über den Firmware-Loader nachfordern können, noch bevor Initrd oder Root-Dateisystem eingebunden sind; bislang mussten solche Treiber die Firmware direkt enthalten.

All diese Änderungen sind aber nicht unumstritten und resultierten in einer längeren und derzeit noch hitzig geführten Diskussion. Insbesondere die beiden Verwalter des Netzwerksubsystems und der Netzwerktreiber sträubten sich nachhaltig gegen die Änderungen, sodass Netzwerktreiber wie tg3 oder bnx2 auch weiterhin die Firmware direkt enthalten. Dadurch können Open-Source-Puristen und Linux-Distributionen bislang auch keinen universellen Kernel kompilieren, der zwar alle auf Firmware angewiesenen Treiber enthält, nicht aber die Firmware selbst – das hatte ein Open-Source-Verfechter auf einer Fedora-Mailingliste mehrfach lautstark gefordert und David Woodhouse zur Entwicklung der jetzt in den Hauptentwicklerzweig eingepflegten Änderungen bewogen.

Für 2.6.27 integrierten die Entwickler indes wieder die SMP-nice for group scheduling genannten Änderung am noch jungen Completely Fair Scheduler (CFS) – die war ursprünglich schon für 2.6.26 vorgesehen, musste dann aber wegen Qualitätsmängeln vorübergehend wieder weichen. Neu dabei im Hauptentwicklerzweig ist auch das Debugging- und Test-Framework Ftrace (Function Tracer). Es unterstützt Linux- und System-Entwickler bei der Suche nach Codebereichen, in denen das System bei der Arbeit viel Zeit verbringt – diese Hot-Spots lassen sich dann gezielt optimieren, um Performance oder Reaktionsgeschwindigkeit zu steigern.

Die Entwickler des Audio-Projekts Alsa (Advanced Linux Sound Architecture) hatten indes quasi parallel zu 2.6.26 die Version 1.0.17 der Alsa-Tools, -Bibliotheken und -Soundtreiber freigegeben; das ausführliche Changelog listet alle Änderungen seit der Vorgängerversion. Die Alsa-Treiber 1.0.17 integrierten die Kernel-Hacker dann gleich für 2.6.27 – darunter finden sich unter anderem eine größere Renovierung des Treibers snd-azt3328 sowie zahlreiche neue ASoC-(ALSA-System-on-Chip-)Treiber; zudem nutzt der Kernel bei manchen PCs, Notebooks und Mainboards nun einige der ab und an nötigen hardwarespezifischen Workarounds automatisch.

Größere Umstrukturierungen gab es im Hauptentwicklungszweig von Linux auch am Quellcode für den Direct Rendering Manager (DRM), damit sich der Code der für 2.6.27 oder 2.6.28 vorgesehenen GPU-Memory-Manager und das Kernel-based Modesetting besser integrieren lässt. Ein beinahe 4 MByte großer Patch entfernt zudem wie erwartet das Verzeichnis arch/ppc/ – um die verschiedenen derzeit unterstützten Power- und PowerPC-Architekturen kümmert sich nun ausschließlich der bereits seit längerem unter arch/powerpc/ zu findende Code.

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich auch in den vorangegangen Ausgaben des Kernel-Logs auf heise open:

Ältere Kernel-Logs finden sich über das Archiv oder die Suchfunktion von heise open. (thl)