Kernel-Log – Was 3.5 bringt (1): Netzwerk

Ein neuer Paket-Scheduler soll Bufferbloat vermeiden helfen. Early Retransmit verringert TCP-Latenzen. Der Treiber E1000e unterstützt schon jetzt den Netzwerkchip von Intels nächster Desktop- und Notebook-Plattform.

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

Zum Wochenstart hat Linus Torvalds die vierte Vorabversion von Linux 3.5 veröffentlicht. Sie bringt gegenüber der dritten Vorabversion lediglich rund zweihundert kleine und unbedeutende Änderung, wie Torvalds zufrieden anmerkt.

Alle größeren Neuerungen für Linux 3.5 haben die Kernel-Entwickler wie üblich zu Beginn der Entwicklung aufgenommen. Das Kernel-Log kann daher bereits jetzt einen umfassenden Überblick über die wichtigsten Neuerungen von Linux 3.5 geben – es ist sehr selten, dass die Kernel-Entwickler in der jetzt laufenden Stabilisierungsphase noch größere Änderungen integrieren oder Neuerungen wieder entfernen.

Die Übersicht erfolgt im Rahmen einer Artikelserie, die nacheinander die verschiedenen Bereiche des Kernels behandelt. Den Anfang macht die folgende Beschreibung der wichtigsten Neuerungen rund um Infrastruktur und Treiber für Netzwerke; die später folgenden Artikel werden sich mit Grafiktreibern, Dateisystemen, Storage-Unterstützung, Architektur-Code und Treibern für andere Hardware beschäftigen.

Zum Netzwerksubsystem stieß "Codel", eine Implementierung des von Kathleen Nichols und Van Jacobson erdachten Paket-Schedulers "Controlled Delay Active Queue Management (AQM)". Auf Codel-Mechanismen setzt auch der ebenfalls in 3.5 eingeflossene alternative Scheduler "Fair Queue Codel AQM".

Beide Scheduler gehen beim Priorisieren versendeter oder weitergegebener Netzwerkpakete etwas anders vor als bisherige Scheduler und sollen mit ihrer Arbeitsweise zur Vermeidung des "Bufferbloat"-Problems beitragen; das führt unter anderem zu großen Netzwerklatenzen und Verbindungsproblemen, die durch eine zu intensive Nutzung der Caches in modernen Netzwerkchips entstehen. LWN.net erläutert einige Hintergründe zum Problem und dem Ansatz von Codel in einem Artikel.

Laut einigen Google-Entwicklern konnte Early Retransmit die TCP-Latenzen in Tests um bis zu 8,5 Prozent senken

Ein Google-Entwickler hat den TCP-Stack um eine "Early Retransmit" (ER) genannte Funktion erweitert, die die Verbindungsregeneration nach Paketverlusten beschleunigen kann, wie es RFC 5827 beschreibt; die aufgenommene Implementierung ist allerdings etwas anders, um Probleme des im RFC beschriebene Algorithmus zu vermeiden. Early Retransmit lässt sich über den Sysctl-Wert "tcp_early_retrans" aktivieren und konnte die TCP-Latenzen in einem Test um bis zu 8,5 Prozent senken, wie Google-Mitarbeiter im Abschnitt 6 des für die IMC 2011 geschriebenen Artikels "Proportional Rate Reduction for TCP" schreiben; das dort beschriebene Proportional Rate Reduction (PRR) beherrscht der Kernel bereits seit Version 3.2.

Den Treiber E1000e erhielt Code zur Unterstützung des i217-PHY, der mit Intels Lynx Point Platform Controller Hub (PCH) zusammenarbeiten soll – diese Linie von Mainboard-Chipsätzen ist vornehmlich für die Haswell-Prozessoren gedacht und dürfte ungefähr gleichzeitig mit diesen im ersten Halbjahr 2013 erscheinen. Der R8169- Treiber für Gigabit-Ethernet-Chips von Realtek steuert nun auch die Bausteine RTL8402 und RTL8411 an. Der WLAN-Treiber Mwifiex kennt jetzt auch den Marvell-USB-Chip USB8797. Ein Reihe weiterer Änderungen, die Unterstützung für LAN- und WLAN-Bausteine nachrüsten oder den Funktionsumfang erweitern, finden Sie im Abschnitt "Die kleinen Perlen" auf der zweiten Artikelseite.

  • Der bei Linux 3.3 integrierte Teaming-Treiber beherrscht jetzt auch Load Balancing.
  • Das neue "TCP connection repair" soll Probleme beim Netzwerkverkehr vermeiden, nachdem Container auf einen anderen Host verlagert wurden; Details erläutert ein LWN.net-Artikel.
  • Der Code für NFC (Near Field Communication) unterstützt nun auch NFC-Bausteine, die das Host Controller Interface (HCI) sprechen (Dokumentation).
  • Die Unterstützung für Netzwerkhardware der Standards Token Ring und Econet haben die Kernel-Entwickler entfernt (1, 2, 3); beide Techniken sind außerhalb von Computer-Museen kaum noch anzutreffen.
  • Netzwerk-Subsystem-Maintainer David Miller erwähnt einige weitere Änderungen in der Mail mit seinem Haupt-Git-Pull-Request für Linux 3.5; darunter etwa Verbesserungen beim Einsatz von Splice bei der Netzwerk-Kommunikation.