Kernel-Log – Was 2.6.36 bringt (2): Dateisysteme, Netzwerk und Storage

Seite 2: Storage und Netzwerk

Inhaltsverzeichnis

Die Device-Mapper-Targets linear, delay, stripe und mpath haben die Entwickler um Discard-Unterstützung erweitert – sofern auch Dateisystem und Storage-Hardware Discard unterstützen, kann der Kernel die über den Device Mapper angesprochenen Datenträger über frei gewordene Speicherbereiche informieren, was etwa Performance und Lebensdauer von SSDs verbessern kann. Das für Verschlüsselung zuständige Target crypt bietet noch keine Discard-Unterstützung.

Den RAID-6-Code des MD-Subsystem haben die Entwickler ausgelagert, damit der Btrfs-Dateisystemcode ihn in Zukunft nutzen kann. Der RAID5-Code im MD-Subsystem bietet ab 2.6.36 einige Einstiegspunkte, über die ein Device-Mapper-Target die RAID-5-Infrastuktur nutzen kann (1, 2) – der darauf aufbauende Device-Mapper-Code bliebt in diesem Entwicklungszyklus aber noch außen vor. Mit ihm soll langfristig das Userspace-Programm dmraid die HostRAID-5-Funktionen nutzbar machen, die viele modernere Mainboard-Chipsätze und günstiger RAID-Adapter bieten. Derzeit braucht es dazu einige Erweiterungen, die seit langem außerhalb des Hauptentwicklungszweigs von Linux gewartet werden.

Das auch Grundfunktionen für ATA- oder Fibre-Channel-Hardware bietende SCSI-Subsystem enthält jetzt die nötige Infrastruktur, um die zur Laufzeit greifenden Stromsparmodi von I/O-Geräten zu nutzen. Bislang nutzt diese allerdings keiner der dort liegenden PCI/PCIe-Treiber. Der Libata-Code bringt nun einen Treiber für den 460EX von AppliedMicro mit. Der QLogic-iSCSI-HBA-Treiber qla4xxx unterstützt nun auch den ISP82XX. Der Block-Layer bringt nun einen Treiber für die NAND-Chips von Intels auf Smartphones oder Slates abgestimmte Moorestown-Plattform mit. Der Block-Layer greift sich nun nicht mehr das Big Kernel Lock (BKL); einige weitere Block-Layer-Änderungen listet der Git-Pull-Request von Jens Axboe.

Im Netzwerksubsystem gab es wieder eine Vielzahl von Änderungen – diesmal sind allerdings nicht ganz so viel wie sonst, daher bekommt der Netzwerk-Code in der "Was 2.6.36 bringt"-Serie keinen eigenen Artikel.

Der Treiber qlcnic für LAN-Chips von Qlogic unterstützt nun eine Partitionierung des Chips in mehrere NICs (u. a. 1, 2). Dank SR-IOV kann der neue und für Gastsysteme gedachte Treiber cxgb4vf nun direkt auf Teilfunktionen einiger der unterstützten 1- und 10-Gigabit-Netzwerkchips von Chelsio zugreifen; genau wie bei anderen SR-IOV-Treibern soll das Latenzen und CPU-Belastung bei Netzwerktransfers reduzieren und den Datendurchsatz steigern (u. a. 1, 2, 3, 4, 5). Der Treiber e1000e unterstützt nun auch den Intel-PHY 82579, der Broadcom-LAN-Treiber tg3 den Baustein BCM5719 und der Atheros-LAN-Treiber atl1c die Version 2 des Chips AR8151. Neu zum Kernel stieß der Treiber pxa168 für den gleichnamigen Netzwerk-Baustein von Marvell.

Auch die WLAN-Treiber wurden um Unterstützung für neue Chips erweitert; der Atheros-WLAN-Treiber ath9k etwa versteht sich nun mit der Version 2.2 des AR9003-Chips. Der aus dem Madwifi-Projekt hervorgegangene Minstrel Rate Control Algorithmus zum automatischen Ausbaldowern des besten Übertragungsverfahrens unterstützt nun auch den Übertragungen nach 802.11n. Der iPhone-Tethering-Treiber ipheth versteht sich jetzt mit dem iPhone 4.

Das neue Checksum-Target im Netfilter-Code kann Pakete mit einer Checksumme versorgen, damit Anwendungen (u. a. alte DHCP-Client-Software) arbeiten, die durch Checksummen-Behandlung durch die Hardware verwirrt werden. Der im Merge-Window von David Miller versandten Git-Pull-Request listet einige weitere Änderungen des von ihm betreuten Netzwerk-Subsystems (1, 2, 3). Er erwähnt beispielsweise kurz eine Reihe von Optimierungen, die Eric Dumazet vorgenommen hat, um die Performance zu verbessern. Speziell die Skalierbarkeit verbessern sollen einige von Tom Herbert eingebrachte Änderungen am für /proc/net/tcp zuständigen Code.