Login
Newsletter
Werbung

Mo, 6. März 2017, 13:50

Software::Kernel

Erste Vorschau auf Linux-Kernel 4.11

Linux-Initiator Linus Torvalds hat die Kernel-Version 4.11-rc1 als erste Testversion für Linux 4.11 freigegeben. Neben zahlreichen Neuerungen gibt es auch Optimierungen der Swap-Geschwindigkeit, den TinyDRM-Treiber für kleine und einfache Displays und den Systemaufruf »statx«.

Linus Torvalds, Initiator des Linux-Kernels

Linux Foundation

Linus Torvalds, Initiator des Linux-Kernels

Zwei Wochen nach Linux 4.10 hat Linus Torvalds nun die erste Testversion von Linux 4.11 veröffentlicht. Die kommenden sieben Wochen (bei Bedarf auch mehr) dienen zum Testen der Änderungen und Korrigieren der gefundenen Probleme. Die Zahl der Änderungen gegenüber der Vorversion liegt dieses Mal mit über 10.000 ungefähr im Durchschnitt der letzten zehn Versionen. Linus Torvalds analysierte in seiner Ankündigung die Menge der Änderungen, die direkt zu ihm gelangten statt über linux-next. linux-next ist ein Repositorium, in dem Patches für die übernächste Version gesammelt werden. Alle Änderungen sollten zunächst in linux-next getestet werden, bevor sie zu Torvalds kommen. Von dieser Regel gibt es Ausnahmen, aber nur dann, wenn der Weg über linux-next nicht sinnvoll ist.

In der aktuellen Testversion waren 13% der Änderungen nicht in linux-next, hat Torvalds ermittelt. Einiges davon waren Korrekturen. Der neue Systemaufruf statx wurde lange genug (sechs Jahre) diskutiert und außerhalb getestet und war somit genehmigt. Die Aufteilung der Header-Datei <linux/sched.h> war im Vorfeld abgestimmt worden und musste zum Abschluss erfolgen. Einige Subsysteme, insbesondere drm, Infiniband, watchdog und btrfs, hielten sich jedoch nicht an die Regeln. Da die Integration der Btrfs-Änderungen noch dazu nicht sauber compilierbar war, kritisiert Torvalds die Btrfs-Entwickler besonders heftig und kündigt an, Code, der nicht in linux-next war oder Probleme bereitet, ab jetzt strikt zurückzuweisen. Für dieses Mal wurden die Btrfs-Änderungen, die zahlreiche Korrekturen und Optimierungen enthalten, noch aufgenommen.

Swap-Speicher wurde in Linux 4.11 erheblich besser skalierbar gemacht. Beim Swappen auf herkömmliche Festplatten wird die Systemleistung so reduziert, dass es unter allen Umständen zu vermeiden war. Mit der Ankunft von nichtflüchtigem RAM-Speicher wird Swappen dagegen wieder interessant. Dabei wurden aber Engpässe entdeckt, die früher nie ein Problem darstellten, beim Swappen auf extrem schnelle Geräte dagegen schon.

Auf der x86-Architektur können nun transparente Huge Pages mit einer Größe von 1 GB genutzt werden. Bisher gab es Huge Pages nur mit einer Größe von 2 MB. Die notwendigen Verwaltungsinformationen werden durch die größeren Seiten erheblich reduziert. Als weitere Neuerung kann bei transparenten Huge Pages eine neue Defragmentierungs-Strategie angegeben werden. Ferner gibt es für Prozesse, die Huge Pages verwenden wollen, die Möglichkeit, auf die Verfügbarkeit von Huge Pages zu warten.

Der neue Systemaufruf statx, der Informationen zu einer Datei liefert, wurde nach jahrelanger Entwicklungsarbeit eingeführt. Gegenüber den bisherigen Aufrufen stat, lstat und fstat, die er alle drei ersetzen kann, bietet er ein halbes Dutzend handfeste Vorteile. Er bietet zusätzliche Informationen, beispielsweise die Erstellungszeit, sofern die Dateisysteme diese liefern können. Man kann die Informationen einschränken, damit statx möglichst schnell arbeitet. Man kann aber auch ein vorheriges Synchronisieren eines Netzwerk-Dateisystems erzwingen und dann die Informationen direkt vom Server holen, wenn man die genauestmöglichen Informationen benötigt. Ein Dateisystem kann Informationen zurückgeben, über welche Daten es verfügt und über welche nicht. Die Datenfelder sind nun für alle Architekturen in der Größe konsistent und hinreichend groß auch für sehr große Dateien und genauere Zeitstempel. Ferner kann der Aufruf durch neue Flags und noch ungenutzte Bereiche in der Datenstruktur erweitert werden. Das CIFS-Dateisystem unterstützt jetzt die Verschlüsselung von SMB3-Volumes. Die Multiqueue-Blockgeräteebene erhielt Unterstüzung für I/O-Scheduler, was insbesondere die Aufnahme des sehnlichst erwarteten neuen I/O-Schedulers BFQ in Linux 4.12 vorbereitet. Als weitere Neuerung unterstützt die Blockgeräteebene die Opal-Spezifikationen für Speicher, die unter anderem eine Verschlüsselung bereitstellt. Die RAID 4/5/6-Implementation des device-mappers unterstützt nun Journaling, was mögliche Datenverluste bei einem Absturz verhindert.

Die Arbeiten an einer auf perf beruhenden Steuerung des ftrace-Subsystems wurden wieder aufgenommen und resultierten in einem neuen, vorerst noch minimalen perf ftrace-Kommando. Der neu eingeführte Socket-Typ »SMC-R« ist für die Kommunikation über einen RDMA-Transport gedacht. Dokumentation dazu gibt es nicht, über die Funktionsweise kann man sich aber in RFC 7609 und einer Präsentation informieren.

Linux 4.11 bringt einen neuen Datentyp für Referenzzähler, der unter anderem Angriffe durch überlaufende Zähler verhindern soll. Es gibt zahlreiche Stellen im Kernel, die diesen nutzen können, und die Umstellung, die auch generelle Fehler in der Verwendung von Referenzzählern vermeiden helfen soll, wird sich über einige Monate hinziehen. Neu ist auch SipHash, eine Hash-Funktion, die schneller und sicherer als die bisherige Implementation sein soll.

Eine weitere Maßnahme zur Verbesserung der Sicherheit ist das von GrSecurity entwickelte GCC-Plugin »structleak«, das nun integriert wurde. Es erzwingt de Initialisierung aller Datenstrukturen, die an Anwenderprozesse übergeben werden, um die ungewollte Preisgabe von Informationen zu vermeiden.

Das neue TinyDRM ist eine DRM-Implementation für kleine und einfache Displays und als Ersatz für diverse Framebuffer-Treiber gedacht. Das LZ4-Kompressionsmodul wurde durch eine neuere und schnellere Version ersetzt. Entfernt wurden die Timer-Statistiken in /proc/timer_stats, die als Sicherheitsproblem angesehen werden, da sie es ermöglichen, Prozessinformationen über Namensräume hinaus zu erhalten. Wer diese Informationen benötigt, kann sie noch über das Tracing-Subsystem erhalten.

Darüber hinaus kamen auch wieder Treiber für zahlreiche Chips aller Art hinzu. Die zahlreichen weiteren Änderungen sind im Änderungslog von Git zu finden. Kernel und Patch-Dateien sind von zahlreichen Spiegelservern von kernel.org herunterzuladen.

Werbung
Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung