Die Neuerungen von Linux 2.6.24

Seite 2: Neue WLAN-Treiber und wiederum verbesserter Scheduler

Inhaltsverzeichnis

Nachdem die Linux-Entwickler bei der Kernel-Version 2.6.22 mit dem WLAN-Stack MAC80211 ein neues Basis-Framework für WLAN-Treiber integrierten, kamen mit 2.6.24 nun endlich auf den noch jungen WLAN-Stack aufsetzende Treiber hinzu. Dabei gingen die Hacker gleich in die vollen und integrierten sieben neue WLAN-Treiber; darunter die im Rahmen des iwlwifi-Projekt entwickelten Treiber iwl3945 und iwl4965, die sich für die beiden in modernen Centrino-Notebooks verwendeten WLAN-Module von Intel eignen. Anders als der von Intel extern gepflegte ipw3945-Treiber arbeiten die beiden Neuen ohne einen proprietären Daemon; der einzige für den Betrieb nötige nicht-offene Code ist die vom WLAN-Modul selbst ausgeführte Firmware.

Neu sind ferner die WLAN-Treiber rt2x00 für verschiedene WLAN-Chips von Ralink, adm8211 für ADMtek ADM8211-Chips und b43 für 802.11g-Chips von Broadcom. Mit p54 für 802.11g-Prism-Chips von Intersil und b43legacy für ältere Broadcom-WLAN-Hardware kamen zudem noch zwei weitere neue Treiber hinzu (wobei der Kernel für die von den beiden unterstützte Hardware mit prism54 und bcm43xx bereits Treiber enhielt, die aber nicht auf den neuen WLAN-Stack aufsetzen, an dem die Entwickler parallel zur Aufnahme der neuen Treiber ein Fülle von Verbesserungen und Korrekturen vornahmen). Parallel wurde auch das zugehörige Konfigurationsinterface CFG80211 um eine Netlink-Schnittstelle erweitert.

Zukünftige Linux-Kernel sollten durch diese Treiber einen Großteil heute gängiger WLAN-Hardware von Haus aus unterstützen – so wie es sich die Entwickler im Mai vorigen Jahres erhofft hatten, als sie den Schwenk auf den neuen WLAN-Stack beschlossen, nachdem sich die Programmierer lange nicht auf ein einheitliches Basis-Framework für WLAN-Treiber einigen konnten. Um die WLAN-Unterstützung rund zu machen, fehlt im Kernel jedoch noch der designierte Madwifi-Nachfolger ath5k. Einige Distributionen liefern ath5k aber bereits aus – ähnlich, wie Fedora 7 und 8, Ubuntu 7.04 und 7.10 sowie OpenSuse 10.3 bereits seit Monaten die jetzt in den offiziellen Linux-Kernel aufgenommenen WLAN-Treiber enthalten. Die Distributionen liefern auch die von vielen WLAN-Treibern benötigten Firmware-Dateien mit und konfigurieren die Hardware automatisch.

Der mit 2.6.23 integrierte und für die Zuteilung von CPU-Zeit an die Anwendungen zuständige Completely Fair Scheduler (CFS) erfuhr für 2.6.24 zahlreicher Änderungen und soll so noch exakter und flotter als zuvor arbeiten. Zudem lassen sich nun Gruppen definieren, zwischen denen der Scheduler die CPU-Zeit fair verteilt (Fair Group Scheduling).

In der Standard-Konfiguration teilt CFS die CPU-Zeit pro Anwender ein – wenn drei Nutzer an einem System jeweils ein oder mehrere prozessorlastige Programme ausführen stellt CFS sicher, dass jeder Anwender ein Drittel der CPU-Zeit erhält, die CFS dann wieder unter dessen Prozessen aufteilt. Über Task Control Groups (siehe auch basic task cgroup framework, 1, 2, 3) lassen sich aber auch beliebige Gruppen festlegen, damit Admins und deren Freunden genug Rechenzyklen für Spiele wichtige Aufgaben zur Verfügung stehen.

Der Hauptentwickler von CFS hatte ursprünglich angenommen, das die Arbeit am Scheduler mit 2.6.24 im großen und ganzen abgeschlossen würde – in den vergangenen Wochen haben aber verschiedene Entwickler CFS noch weiter optimiert und zahlreiche Patches für die nächste Kernel-Version eingesandt. So wird auch 2.6.25 wohl weitere Verbesserungen am Prozess-Scheduler mitbringen.