Login
Newsletter
Werbung

Mo, 1. Mai 2017, 10:04

Software::Kernel

Linux-Kernel 4.11 freigegeben

Linux-Initiator Linus Torvalds hat Version 4.11 des Linux-Kernels freigegeben. Neben dem neuen Systemaufruf »statx«, dem TinyDRM-Treiber für kleine und einfache Displays und zahlreichen weiteren Neuerungen gibt es auch Optimierungen, beispielsweise bei der Swap-Geschwindigkeit.

Linus Torvalds, Initiator des Linux-Kernels

Linux Foundation

Linus Torvalds, Initiator des Linux-Kernels

Zehn Wochen nach Linux 4.10 ist nun Linux 4.11 fertiggestellt. Linux-Initiator Linus Torvalds hatte die Testphase des neuen Kernels auch dieses Mal wieder um eine Woche verlängert, was zu einigen zusätzlichen, allerdings nicht unbedingt bedeutenden, Korrekturen Zeit ließ. Die Zahl der Änderungen gegenüber der Vorversion liegt dieses Mal mit über 11.000 ungefähr im Durchschnitt der letzten zehn Versionen.

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 ist. 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 transparente 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 die 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.

Intern wurde die Header-Datei sched.h, die über die Jahre zu beachtlicher Größe (100 KB) angewachsen war, in einige kleinere Dateien zerlegt. Da viele Dateien diesen Header nutzten, hatte dies Änderungen quer durch den ganzen Kernel zur Folge. Die Maßnahme soll die künftige Wartung vereinfachen und kann auch die Compilierung beschleunigen.

Darüber hinaus wurden zahlreiche Treiber aktualisiert, erweitert oder kamen neu hinzu. Eine Liste aller Änderungen kann man dem Git-Repositorium entnehmen. Die Seite Kernelnewbies.org hat eine übersichtliche Zusammenfassung der Änderungen veröffentlicht. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Werbung
Kommentare (Insgesamt: 11 || Alle anzeigen )
Re[2]: Heil Torvalds! (Chef, Mi, 3. Mai 2017)
Re[5]: swap (Nur ein Leser, Mi, 3. Mai 2017)
Re[4]: swap (beachte, Mi, 3. Mai 2017)
Re[3]: swap (Nur ein Leser, Di, 2. Mai 2017)
Re: swap (Nur ein Leser, Mo, 1. Mai 2017)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung