Die Neuerungen von Linux 3.7

Größere Umbauten sollen die Treiber für Grafikhardware von Intel und Nvidia robuster machen. Linux unterstützt jetzt ARM64 und beherrscht Network Address Translation (NAT) auch mit IPv6. Die Kernel-Entwickler sind zudem einem bekannten Performance-Problem von Btrfs zu Leibe gerückt.

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

Rund zehn Wochen nach der Veröffentlichung von Linux 3.6 hat Linus Torvalds jetzt den Kernel 3.7 freigegeben. Er enthält etwas mehr und etwas umfangreiche Änderungen als seine direkten Vorgänger, die nicht nur für Entwickler und Sysadmins von Bedeutung sind, sondern auch Anwender betreffen, die Linux auf Heim-PCs einsetzen.

Mehr Infos

Im Detail

Bereits in den vergangenen Wochen hat das Kernel-Log in der Serie "Was Linux 3.7 bringt" detailliert über die Neuerungen von Linux 3.7 berichtet:

  1. Dateisysteme & Storage
  2. Netzwerk
  3. Infrastruktur
  4. Treiber
  5. CPU- und Plattform-Code

Der nebenstehende Text fasst die wichtigsten Neuerungen dieser Artikel zusammen und gibt einen Ausblick auf den Kernel 3.8.

Die Kernel-Hacker haben Unterstützung für Network Address Translation (NAT) mit IPv6 in Linux integriert (u. a. 1, 2). Einige Linux-Entwickler hatten den Sinn dieser Technik in Frage gestellt, weil der größere Addressraum von IPv6 NAT eigentlich unnötig macht. Die Funktion wurde nun aber doch integriert, weil die Spezifikation für NAT mit IPv6 einige Probleme der IPv4-Lösung vermeidet und sich Anwendungsfälle ergeben haben, wo NAT bei IPv6 sinnvoll ist. Beispielsweise wollen manche Anwender mit NAT ihre interne Netzwerk-Topologie geheim halten.

Die Kernel-Entwickler haben den Server-seitigen Code für "TCP Fast Open" (TFO) integriert (u. a. 1, 2, 3). Bereits Linux 3.6 enthält die Client-seitige Unterstützung dieser experimentellen TCP-Erweiterung von Google. Sie soll den HTTP-Verbindungsausfbau beschleunigen, indem die ersten beiden Schritte beim normalerweise genutzten "TCP three-way handshake" kombiniert werden.

Mehrere Optimierungen am weiterhin experimentellen Btrfs sollen das erzwungene Leeren der Schreib-Caches des Dateisystems mit fsync() beschleunigen. Das soll insbesondere die Schreib-Performance von virtuellen Maschinen erhöhen, wenn die Images der VMs auf Btrfs-Dateisystemen liegen und das Gastsystem häufig ein Fsync fordert. Btrfs steht bislang in dem Ruf, in solch einem Szenario schlechte Performance zu liefern.

Ext4 beherrscht Größenänderungen nun auch bei Laufwerken, die größer als 16 TByte sind. Das Common Internet File System (CIFS) zum Zugriff auf Windows- oder Samba-Freigaben unterstützt nun das mit Windows Vista eingeführte SMB 2.0 und dessen Windows-7-Abkömmling SMB 2.1. SMB 2 ist ein neu strukturiertes Protokoll, das zahlreiche Beschränkungen und Implementierungsschwächen der ersten SMB-Generation beseitigt, dessen Entwicklung bereits in der 80er-Jahren begann.

Die Entwickler des Nouveau-Treibers haben den zum Kernel gehörenden Teil des Open-Source-Treibers für Nvidia-Grafikkerne grundlegend umgebaut (u. a. 1, 2, 3, 4, 5, 6). Dadurch soll er besser zu Nvidias Chips passen, die die Entwickler in den Jahren des Reverse Engineerings deutlich besser kennengelernt haben. Ziel des Ganzen ist eine saubere, weniger komplexe Treiberarchitektur, mit der sich neue Funktionen leichter implementieren lassen. Eine der angedachten neuen Funktionen ist Support für Nvidias Grafikchip-Kopplungstechnik Scalable Link Interface (SLI).

Durch größere Umbauten am Intel-Grafiktreiber i915 sollen dessen Funktionen zum Konfigurieren der Bildschirmausgänge robuster und flexibler arbeiten. Via Sysfs lassen sich nun Informationen zu den Geschwindigkeitsstufen des Grafikkerns auslesen und Limits setzen, um dadurch beispielsweise den maximalen Stromverbrauch zu begrenzen (u. a. 1, 2, 3).

Durch Umbauten am Code zur Bildschirmkonfiguration des Radeon-Grafiktreibers sollen mit neueren AMD-Grafikkernen mehr Multimonitor-Konstellationen als zuvor möglich sein; zudem soll die Leistungsaufnahme bestimmter Mehrschirmkonfigurationen sinken (1, 2, 3, 4). Dank neuer Funktionen zur Kontrolle der Hintergrundbeleuchtung sowie Verbesserungen bei der ACPI-Interaktion mit der System-Firmware §llte unter anderem die Helligkeitsregelung bei mehr Notebooks als zuvor funktioniert (1, 2, 3, 4).

Die Unterstützung für die zur Laufzeit nutzbaren Stromsparmechanismen im Treiber für die viel genutzten HD-Audio-Chips gilt nun nicht mehr als experimentell und wird standardmäßig aktiviert. Die Kernel-Entwickler haben zudem den Support für "Runtime Power-Management" im HDA-Treiber ausgebaut, damit sich nun auch das dabei involvierte PCI/PCIe-Device schlafen legen kann. Zum Kernel stieß ein Channel Mapping API zur besseren Abfrage und Konfiguration von Audio-Kanälen, was zur Einrichtung von Surround-Sound interessant ist (1, 2, 3, 4, 5).

Das Subsystem für Human Interface Devices (HIDs) unterstützt jetzt die Sony PS3 Blue-ray Disc Remote Control. Bislang wurde die BD-Fernbedienung der Spielkonsole vom BlueZ-Userspacetreiber angesprochen – der dafür zuständige Code wurde allerdings kürzlich entfernt. Der Treiber wiimote spricht nun auch das Nintendo Balance-Board an. Der iPhone-Tethering-Treiber ipheth arbeitet nun auch mit dem iPhone 5.

Die Entwickler haben zudem die Treiberaufteilung unterhalb des Verzeichnisses drivers/media/ der Kernel-Quellen verändert, wodurch zahlreiche Treiber nun in neuen Unterverzeichnissen liegen (u. a. 1, 2, 3, 4). Neben den Umbauten am Nouveau-Treiber und einer Abtrennung der Userspace-Header ist das einer der Hauptgründe, warum eine Unterschiedsanalyse mit Diffstat so viele veränderte Codezeilen gegenüber Linux 3.6 ausweist.