Original-URL des Artikels: https://www.golem.de/1201/88818.html    Veröffentlicht: 05.01.2012 12:08    Kurz-URL: https://glm.io/88818

Linux

Kernel 3.2 optimiert Dateisysteme

Im Linux-Kernel 3.2 haben die Entwickler um Linus Torvalds vor allem die Infrastruktur der Dateisysteme optimiert. Eine neue Funktion verbessert den Datendurchsatz des Netzwerkstacks.

Mit Bigalloc ist der serverseitige Einsatz des Dateisystems Ext4 optimiert worden. Btrfs erhält zahlreiche Funktionen und Erweiterungen, die dem Anwender bei Dateisystemfehlern mehr Handlungsfreiheit bieten. Ferner wurde die Prozessverwaltung mit Quotas ausgestattet, was auch dem Linux-Desktop zugutekommen soll.

Kernkomponenten

Die Prozesszuteilung wurde so verändert, dass die CPU-Nutzung gedeckelt werden kann. Damit können ganze Prozessgruppen gedrosselt werden, wenn ein gesetztes Kontingent überschritten wird. Das Kontingent besteht aus einem Zeitabschnitt (Period) und einer maximalen Nutzung von CPU-Zeit (Quota). Wird Letztere überschritten, erhält die Prozessgruppe erst nach Ablauf des Zeitabschnitts wieder Zugriff auf die CPU. Diese Funktion kommt unter dem Namen Process Bandwidth Controller in die Prozessverwaltung des Schedulers.

Um die Kommunikation zwischen Prozessen zu verbessern, wurde der Patch für Cross Memory Attach eingereicht. Er soll das Message Passing Interface (MPI) beschleunigen und damit den Overhead bei der Prozesskommunikation reduzieren. Künftig kommunizieren Anwendungen, die MPI nutzen, direkt miteinander statt über gemeinsam genutzten Speicher.

Die Verschlüsselung mit SHA1 auf 64-Bit-CPUs nutzt deren Befehlssatzerweiterungen SSE3 oder AVX. Damit soll der Datendurchsatz, etwa bei einer IPSec-Verbindung, um fast ein Viertel schneller sein.

Dateisysteme

Die Writeback-Funktion, die für das Schreiben von gepufferten Daten aus dem Speicher auf Datenträger zuständig ist, wurde mit effizienteren Algorithmen ausgestattet. Sie sollen die Entscheidungen darüber, wie viele Daten im Speicher gehalten werden können, verbessern und damit für eine schnellere und gleichmäßige Schreibgeschwindigkeit sorgen. Davon sollen auch das Netzwerkdateisystem NFS und RAIDs wie Just-a-Bunch-Of-Disks (JBOD) profitieren. Die Änderung soll beispielsweise auch bei der Nutzung des Kopierprogramms dd bemerkbar sein. Auch Anwender sollen laut Torvalds davon profitieren.

Ext4 erhält mit Bigallocs eine Option, mit der sich die Datenblöcke von den standardmäßigen 4 KByte auf 1 MByte erhöhen lassen. Das soll den Datendurchsatz bei großen Dateien steigern, führt aber auch dazu, dass der Speicherplatz weniger effizient genutzt wird, da jede Datei einen Block belegt. Diese Funktion ist nicht rückwärtskompatibel mit älteren Kernel-Versionen und muss beim Anlegen des Dateisystems aktiviert werden. Bigalloc kann in der aktuellen Werkzeugsammlung für die Verwaltung von Dateisystemen E2fsprogs 1.42 bereits mit dem entsprechenden Schalter -C genutzt werden.

Für Ext4 wurden ferner in memmove die Speicherregionen vergrößert, was die CPU-Last um 25 Prozent bei Direct-Input-Output-Schreibvorgängen verringern soll. Aus Ext 3 und 4 wurde oldalloc entfernt, ein veralteter Algorithmus zur Zuweisung von Dateiblöcken. Stattdessen wird standardmäßig der schnellere Orlov-Algorithmus verwendet. Die entsprechenden Mount-Optionen gibt es nicht mehr.

Robusteres Btrfs

Das sogenannte Scrubbing in Btrfs wurde beschleunigt. Die Überprüfung sämtlicher Checksummen in dem Dateisystem soll fast doppelt so schnell laufen wie zuvor. Außerdem speichert Btrfs Tree-Informationen der letzten vier Commits in den Superblöcken. Damit kann der Anwender notfalls auf diese Informationen zurückgreifen, wenn Btrfs selbst die Dateistruktur aus den wichtigen Root-Knoten (Tree Root) nicht mehr auslesen kann. Ferner werden die in den Blöcken gespeicherten Fehlermeldungen zu Btrees und Dateien detaillierter wiedergegeben. Statt nur den korrumpierten Block aufzuzeigen, werden zusätzlich die Gerätebezeichnung, der Festplattensektor oder die Inode-Nummer aufgelistet. Über den Befehl btrfs inspect kann Btrfs auch manuell untersucht werden, etwa um herauszufinden, welche Datei sich in den korrumpierten Blöcken befindet.

Ein Device-Mapper-Target speziell für Thin Provisioning soll einen einzigen Speicherort für mehrere virtuelle Geräte bereitstellen. Der allozierte Speicher kann auch größer sein als der eigentlich zur Verfügung stehende. Die Funktion besteht aus Anpassungen im Kernel, der Integration des Logical Volume Manager 2 (LVM) und den entsprechenden Userspace-Werkzeugen. Wird der reelle Speicher knapp, kann er einfach erweitert werden. Das soll vor allem virtuellen Maschinen und Cloud-Diensten zugutekommen. Gleichzeitig können von dem DM-Target Snapshots erstellt werden.

Netzwerk

Von dem Google-Angestellten Nandita Dukkipati stammt die Proportional Rate Reduction, mit der die Sendegeschwindigkeit an die Kapazitäten der Gegenstelle und die dazwischenliegenden Router besser angepasst werden kann. Damit sollen die Latenzzeiten zwischen 3 und 10 Prozent niedriger liegen als vorher. Der bisher verwendete Algorithmus reduzierte die Übertragungsgeschwindigkeit bereits bei einem Paketverlust um die Hälfte. Der neue Algorithmus verringert die Übertragungsgeschwindigkeit in weniger drastischen Schritten und erhöht sie wieder schneller.

Der Linux-Kernel erhielt zahlreiche neue Treiber für WLAN-Geräte, darunter für den AR6003-, AR9580- und AR946/8x-Chipsatz von Atheros, die 2000D-Serie, den Centrino Advanced-N6205S AGN von Intel und den 88W8766P von Marvell. Im Zusammenhang mit der Umstrukturierung der Verzeichnisstruktur liegen Treiber für Ethernet-Adapter im Ordner drivers/net/ethernet. Dort befinden sich auch die neuen Treiber für den Gigabit-Ethernet-Chip RTL8111F von Realtek sowie für den 82599-Chip von Intel.

Grafikkarten

Der freie Treiber für Nvidia-Chipsätze Nouveau erzeugt künftig eine eigene Firmware für weitere Fermi-Chipsätze von Nvidia, etwa den NVC1, der in zahlreichen Grafikchips der 400er und 500er Reihe verbaut ist, sowie den NVC8- und den NVCF-Chip.

Die Probleme im Treiber für den Grafikkern in Intels Ivy-Bridge-Chipsätzen sollten endlich behoben werden und die als RC6 bezeichnete Stromsparfunktion samt Semaphores standardmäßig eingeschaltet sein. Allerdings traten erneut Fehler auf. Die Funktion muss auch in dieser Kernel-Version noch manuell mit dem Boot-Parameter Kernel-Boot-Parameter i915.i915_enable_rc6=1 aktiviert werden.

Für die emulierte Grafikhardware SVGA2 für VMware-Gastsysteme steht ebenfalls ein neuer Treiber bereit, der in erster Linie 2D- und 3D-Beschleunigung bietet.

Eine umfangreiche Liste aller neuen Treiber ist auf kernelnewbies.org veröffentlicht worden. Der Quellcode des Linux-Kernels steht unter kernel.org zum Download bereit. Dort ist auch der Changelog als Gitweb verfügbar.  (jt)


Verwandte Artikel:
Linux: Entwicklungsphase für Kernel 3.2 abgeschlossen   
(08.11.2011, https://glm.io/87599 )
Google: Chromebooks bekommen "Linux-VMs" und "Terminal"   
(27.02.2018, https://glm.io/133030 )
Bpfilter: Linux-Kernel könnte weitere Firewall-Technik bekommen   
(22.02.2018, https://glm.io/132933 )
Systemanalyse: Wie Dtrace auf Linux kommen könnte   
(15.02.2018, https://glm.io/132799 )
Freedreno: Google will Mainline-Linux-Support für Snapdragon 845   
(14.02.2018, https://glm.io/132774 )

© 1997–2020 Golem.de, https://www.golem.de/