Die wichtigsten Neuerungen von Linux 2.6.20

Test & Kaufberatung | Test

Seite 2: Die wichtigsten Neuerungen von Linux 2.6.20

Darüber hinaus drehten sich die Änderungen bei 2.6.20 weitgehend um Hardware-Unterstützung; so erweiterten die Entwickler etwa den Code für PPC/Cell-Architektur um Unterstützung für die Playstation 3. Zahlreiche PS3-spezifische Treiber etwa für die Audio- oder Netzwerk-Hardware fehlen allerdings noch und dürften erst in späteren Kernel-Versionen Einzug finden. Kurz vor der Fertigstellung von 2.6.20 nahmen die Entwickler noch einen Patch auf, der klarstellt, dass die Unterstützung der PS3 noch unvollständig ist.

2.6.20 unterstützt bereits den SMBus-, SATA- und Audio-Controller der erst in einigen Monaten erwarteten Intel-Southbridge-Serie ICH9. Die auf einigen neuen Mainboards verwendeten Marvell-Parallel-ATA-Controller 6101 und 6145 spricht der neue Treiber pata_marvell an. Für die PATA-Controller in Embedded-Geräten steht nun der generische Libata-Treiber pata_platform bereit. Das Modul sata_nv beherrscht erstmals NCQ (Native Command Queuing) mit Nvidias nForce4 und der AHCI-Treiber versucht seit 2.6.20 jegliche AHCI-Controller anzusprechen. An den mit 2.6.19 aufgenommenen PATA-Treibern des libata-frameworks gab es zahlreiche Verbesserung, darunter Unterstützung von Suspend und Resume.

Erstmals dabei ist das Modul netxen_nic für den NetXen Multi port (1/10) Gigabit Ethernet NIC; der Chelsio-Treiber kann nun mit mehr 10-Gigabit-Ethernet-Chips umgehen. Die in 2.6.20 enthaltenen Netzwerktreiber unterstützen jetzt die Marvell-Chips 88e1145, 88e111s und 88ec033, die Broadcom-Chips 5709 und 5787F sowie Nvidias MCP67. Der e1000-Treiber für Intel-NICs kennt nun ebenfalls einige ihm vorher unbekannte Chips und soll zudem zügiger arbeiten. Die Ipw2200-WLAN-Treiber aktualisierten die Entwickler auf Version 1.2.0. Für das H.323-Protokoll enthält 2.6.20 ein Modul zum Connection Tracking auf Firewalls mit NAT (Network Address Translation). Das Modul zum NAT-Connection-Tracking bei SIP (Session Initiation Protocol) soll zudem zuverlässiger funktionieren.

Der Quellcode für Human Interface Devices (HID) ist jetzt eigenständig und nicht mehr eng mit dem USB-Subsystem verknüpft. Letzteres kann nun bis zu 31 Hubs hinter dem Root-Hub ansprechen. Im Video-for-Linux-Bereich kamen Treiber für die Kameras in den Notebooks der Initiative OLPC (One Laptop Per Child) hinzu. Neu ist auch der Usbvision-Treiber für 56 verschiedene USB-Video- und Audio-Geräte. Die aufgenommenen Module dib7000p und dib7000m unterstützen etwa die DVB-T-Tuner DiBcom DiB7000PC.

Überarbeitungen an ACPI sollen die Takt- und Spannungsanpassung im Cpufreq-Modul acpi verbessern und den Treiber speedstep-centrino überflüssig machen. Zudem koordiniert der ACPI-Treiber die Änderungen auf den verschiedenen Kernen von Dual-Core-CPUs nun besser. Das Modul p4-clockmod bremst nun auch Pentium M oder den Core Duo mittels Throttling, warnt beim Laden aber explizit, das Takt- und Spannungsanpassung effizienter als Trottling ist.

Hardware-Monitoring-Treiber für den W83793 von Winbond und den PC87427 von National Semiconducors sind erstmals enthalten; das neue Modul f71805f unterstützt Finteks F71872F/FG und kann dessen Lüftersteuerung beeinflussen. Der Treiber Ams spricht den Apple Motion Sensor verschiedener PowerBooks und iBooks an.

Die SCSI-Treiber können dank "Asynchronous scsi scanning" in 2.6.20 mit einem separaten Threads pro Hostcontroller parallel nach SCSI-Geräten suchen und so den Systemstart beschleunigen. Ähnliche Ansätze gibt es auch bei USB und PCI. So kam zu Beginn der 2.6.20 Entwicklung ein Patch hinzu, der die Erkennung und Initialisierung auf dem USB-Bus mit einem eigenen Thread pro Gerät ermöglichte. Das sollte nicht nur schneller, sondern auch zuverlässiger arbeiten – kurz vor der Fertigstellung des neuen Linux deaktivierten die Entwickler die Funktion jedoch. Die mit 2.6.19 hinzugekommene, aber vor der Freigabe des Kernels deaktivierte Funktion zum parallelen Suchen nach PCI-Hardware wurde während der Entwicklung von 2.6.20 kurzzeitig wieder aktiviert, dann jedoch erneut deaktiviert und soll möglicherweise komplett verworfen werden.

Einige der veralteten OSS-Audio-Treiber, für die Linux mindestens einen gleichwertiger Alsa-Treiber mitbringt, lassen sich bei der Kernel-Konfiguration von 2.6.20 nicht mehr aktivieren – darunter etwa der Treiber emu10k1 für zahlreiche Varianten der Creative Sound Blaster Live. Komplett entfernten die Entwickler wie zuvor angekündigt den Frame Diverter für Netzwerkpakete und den Treiber ftape (Floppy Tape). Die Sound-Treiber enthalten einige Korrekturen aus der Alsa-Version 1.0.14-rc1. Größere Änderungen fehlen jedoch, da die Alsa-Entwickler ihre Patches zu spät zur Aufnahme anboten – sie müssen sich nun mit bis zum Start der 2.6.21-Entwicklung in Geduld üben.

In den nächsten zwei Wochen dürften die Entwickler die größten Neuerungen für 2.6.21 aufnehmen, bevor die normalerweise rund sechswöchige Stabilisierungsphase beginnt. An technischen Neuerungen steht für 2.6.21 schon wieder einiges an: So möchten die Programmierer der High Resolution Timers nach der Aufnahme der Basis-Infrastruktur in 2.6.16 nun auch gerne die erweiterte Variante integriert sehen und arbeiten schon seit 2.6.19 darauf aktiv hin. Zusammen mit den High Resolution Timers dürften auch die im selben Patchset enthaltenen "Dynamic Ticks" einziehen, die bei einem unbelasteten System den Stromverbrauch durch vorübergehendes Ausschalten des Timer-Interrupts senken sollen.

Im von Andrew Morton gepflegten mm-Entwicklerkernel finden sich zudem zahlreiche weitere Neuerungen, die möglicherweise bald in den offiziellen Kernel Einzug halten. Dazu zählt etwa auch unionfs, das bei zahlreichen Linux-Live-CDs zum Einsatz kommt. Die Arbeiten am neuen WLAN-Stack ziehen sich aber wohl noch etwas hin. Vorgeschlagen wurde zudem das Framework Automatic Kernel Tunables (AKT), das verschiedene Performance-relevante Kernel-Parameter je nach Systemlast automatisch anpasst und so optimale Performance in verschiedensten Lastsituationen ermöglichen soll; Morton beäugte den Ansatz jedoch erstmal kritisch.

Nicht integrieren wollten die Kernel-Entwickler hingegen den in zahlreichen Distributionen enthaltenen Patch, der das Nachladen von ACPI-DSDT-Tabellen aus der Initial-Ramdisk ermöglicht. Dies sei jedoch laut einigen prominenten Kernel-Entwicklern des falsche Ansatz; statt dessen sollten die Entwickler den Linux-ACPI-Interpreter verbessern, sodass er nicht so leicht über Fehler in den ACPI-Tabellen stolpert. Laut Alan Cox verletzt das Auslesen und Einspielen der Tabellen gar das Copyright der Hersteller. Eine fehlerhaftes Modifizieren der ACPI-Tabellen kann in seltenen Fällen auch Hardware-Schäden nach sich ziehen.

Während der Entwicklung von 2.6.20 schlugen zahlreiche bekannte Kernel-Entwickler auf der Kernel-Mailingliste vor, in ab 2008 freigegebenen Kerneln das Laden von proprietären Treibern zu unterbinden. Die heutigen Grafikkartentreiber von ATI und Nvidia und viele andere Closed-Source-Treiber würden dann nicht mehr funktionieren. Linus Torvalds stellte sich den Bestrebungen in der hitzigen Diskussion jedoch entgegen und überzeugte einige der Entwickler, von dem Vorhaben abzusehen. Eine Lösung für die umstrittenen, in einem "rechtlich grauen Bereich" arbeitenden proprietären Treiber, die nach Ansicht einiger Linux-Programmierer das Linux-Copyright verletzen, ist weiter nicht in Sicht.

Wer sich mit dem Kernel näher auseinander setzen möchte, dürfte an dem neu erschienenen englischen Buch Linux Kernel in a Nutshell gefallen finden. Es beschäftigt sich detailliert mit der Konfiguration und dem Kompilieren von Linux-Kerneln sowie zahlreichen anderen für fortgeschrittene Anwender interessante Linux-Interna. Geschrieben wurde es von Greg Kroah-Hartman, Mitglied des Stable-Kernel-Teams, Verwalter diverser Subsysteme und auch durch seine Diskussionen rund um Probleme und Gefahren von proprietären Linux-Treibern bekannt. Das Buch erscheint bei O'Reilly, ist alternativ aber auch über kernel.org als kostenloser Download erhältlich – etwa als 3 MByte großes tar.bz2-Archiv mit PDF-Dateien.

Die Server hinter kernel.org haben in den vergangenen Wochen indes mit Überlastung zu kämpfen – daher finden sich neu freigegebene Kernel teilweise erst nach einigen Stunden auf den Servern. Auch die Verteilung an die Mirror arbeitet langsamer als gewohnt. Die verstärkte Nutzung von git soll für die hohe Last wohl die Hauptursache sein. Ein Wechsel von ext3 auf ein anderes Dateisystem wie XFS könne das Problem möglicherweise mindern, die Kernel-Entwickler evaluieren derzeit jedoch auch, ob Verbesserungen an ext3 helfen, die Last zu reduzieren. Zudem wollen die Administratoren in Kürze einen weiterer Server speziell für git aufsetzen. (thl)


Durch die hohe Server-Last ist der Zugriff auf kernel.org derzeit etwas mühsam; auf der Kernel-Site steht Linux 2.6.20 aber bereit – etwa bzip2 komprimiert als Patch gegen die Vorgänger oder als komplettes Archiv. Bald dürften dann auch die deutschen Spiegelserver nachziehen und den Patch oder das komplette Archiv bereithalten.

Sämtliche Änderungen listet das ausführliche Changelog – die wichtigen fasst zudem das Kernelnewbies-Wiki ausführlich zusammen. Es bietet auch einige weiterführende Links zu den jeweils relevanten Änderungen in Quellcode-Verwaltungssystem des Kernels sowie teilweise auch zu detaillierten Beschreibungen der betroffenen Techniken.

Anzeige