Login
Newsletter
Werbung

Mo, 18. Juni 2018, 11:16

Software::Kernel

Erste Vorschau auf Linux-Kernel 4.18

Linux-Initiator Linus Torvalds hat die Kernel-Version 4.18-rc1 als erste Testversion für Linux 4.18 freigegeben. Die neue Version bringt zahlreiche Optimierungen, systemweite Energiesparzustände, Unterstützung für Nvidia Volta und viele Erweiterungen von BPF.

Linus Torvalds, Initiator des Linux-Kernels

Linux Foundation

Linus Torvalds, Initiator des Linux-Kernels

Zwei Wochen nach Linux 4.17 hat Linus Torvalds nun die erste Testversion von Linux 4.18 veröffentlicht. Die kommenden sieben Wochen (bei Bedarf auch mehr) dienen zum Testen der Änderungen und Korrigieren der gefundenen Probleme.

Die Zahl der Änderungen liegt mit fast 11.600 gleichauf mit Linux 4.17, womit auch 4.18 zu den kleinsten Kerneln seit zwei Jahren gehört. Die Änderungen verteilen sich wie immer, eine bemerkenswerte Ausnahme war allerdings, dass der Kernel unter dem Strich wiederum kleiner wurde. 505769 hinzugekommenen Zeilen Code stehen 612979 entfernte gegenüber. Der hauptsächliche Grund dafür ist, dass das Cluster-Dateisystem Lustre aus dem Kernel entfernt wurde. Das bedeutet freilich nicht, dass Lustre nicht mehr verwendet oder entwickelt wird. Vielmehr wird Lustre separat vom Kernel entwickelt. Der Stand von Lustre, der im Kernel enthalten war, war jedoch ungepflegt und veraltet und befand sich im Staging-Bereich, da er für die Aufnahme in den offiziellen Kernel ungeeignet war. Lustre besitzt tausende von Benutzern und die Entwickler werden vermutlich zu einem späteren Zeitpunkt das Dateisystem wieder zur Aufnahme in den Kernel vorschlagen, nachdem sie den Code konsolidiert haben.

Neben Lustre wurden noch einige andere Treiber entfernt, die laut Torvalds keine Benutzer hatten. Darunter befinden sich sogar Treiber für Hardware, die nie die Marktreife erreichte. Torvalds merkt außerdem an, dass zwar auch dieses Mal mehr als 1500 Entwickler zum Kernel beigetragen haben, dass es aber nur 91 Subsystem-Verantwortliche (Maintainer) gibt, die die Änderungen zusammenführen und an Torvalds weiterleiten. Dass diese Zahl zu gering ist, wurde längst erkannt. Mehr Maintainer werden benötigt, um die aktuellen Maintainer zu entlasten und den Code-Review zu verbessern.

Zu den zahlreichen Änderungen in Linux 4.18 zählt, dass die 32 Bit ARM-Architektur Abwehrmaßnahmen gegen Spectre 1 und 2 erhielt, 64 Bit-ARM dagegen solche gegen die Spectre-Variante 4. 32 Bit x86-Systeme verfügen nun über einen Just-in-Time-Compiler für eBPF-Programme. Für asynchrone Ein- und Ausgabe wurde eine neue Polling-Schnittstelle geschaffen. Die Energieverwaltung wurde mit den Power Domain Performance Levels erheblich erweitert. Damit kann das gesamte System einschließlich aller Peripheriegeräte in der Leistung und damit auch der Energieaufnahme an den aktuellen Bedarf angepasst werden. Ferner können Trace-Marker eingesetzt werden, um Trigger für Aktionen wie die Histogrammerzeugung auszulösen. Nach jahrelanger Diskussion wurden außerdem die sogenannten Restartable Sequences integriert, die es ermöglichen, ein Stück Code, das unterbrochen wurde, erneut auszuführen.

Im Dateisystem Btrfs lassen sich leere Subvolumes jetzt einfach mit rmdir löschen. Zwei neue ioctls, FS_IOC_FSGETXATTR und FS_IOC_FSSETXATTR dienen zum Ändern von Dateiattributen. Weitere neue ioctls erlauben es unprivilegierten Benutzern, Informationen über Subvolumes zu erhalten. Benutzer, die in einem Benutzer-Namensraum Root-Rechte haben, können nun Dateisysteme mounten. Zuvor war dies nicht möglich, da damit Sicherheitsrisiken einhergehen. Aus diesem Grund sind auch nur bestimmte Dateisystemtypen für diese Operation zugelassen, aktuell neben den Pseudo-Dateisystemen proc, sysfs, tmpfs, ramfs, devpts und mqueue nur FUSE, das weitgehend außerhalb des Kernels agiert.

Der in Linux 4.17 integrierte Kryptografie-Algorithmus Speck (mit 128 oder 256 Bit) kann nun auch zum Verschlüsseln von F2FS- und ext4-Dateisystemen eingesetzt werden. Der Algorithmus ist in Kryptografenkreisen weitgehend verpönt, da er von der NSA entwickelt wurde, seine Parameter aber völlig unzureichend begründet wurden. Damit ist es wahrscheinlich, dass er von der NSA mit Hintertüren ausgestattet wurde. Auf besseren Geräten wird Speck voraussichtlich nie zum Einsatz kommen, wohl aber auf billigen Mobilgeräten unter 100 Dollar, weil er eine höhere Geschwindigkeit als AES verspricht. Derweil erhielt das Krypto-Subsystem Unterstützung für die Zstandard-Kompression sowie zwei weitere Verschlüsselungsalgorithen: AEGIS und MORUS.

Das TCP-Protokoll unterstützt jetzt Zero Copy-Empfang unter bestimmten Voraussetzungen. Neu ist außerdem AF_XDP, das Zero-Copy-Netzwerkübertragungen unter der Kontrolle von BPF-Programmen ermöglicht. Ebenfalls ganz neu, aber noch nicht komplett, ist bpfilter, ein Paketfilter auf BPF-Basis. Noch ist unklar, ob es eine Kompatibilität zu iptables oder nftables geben wird. Klar ist jedoch, dass das seit Linux 3.13 existierende nftables für manche Benutzer nicht genug Leistung bringt. bpfilter könnte der bessere Ersatz dafür werden.

BPF kann jetzt ferner Infrarot-Protokolle dekodieren. Mit dieser Fähigkeit kann, sobald passende Werkzeuge bereitstehen, der Daemon lircd abgeschaltet werden. Die jüngst eingeführte TLS-Unterstützung im Kernel kann nun auch von Hardware übernommen werden, die entsprechende Funktionen anbietet. Der erste Treiber, der dies nutzt, ist der für Mellanox mlx5. Eine weitere Verbesserung ist die »Selective Acknowledgment (SACK)-Kompression«, die die Anzahl der SACK-Pakete reduzieren soll. Ferner kann ein BPF-Programm einem Socket zugewiesen werden und beim Aufruf von sendmsg ausgeführt werden.

Die Einführung von Jahr-2038-sicheren Systemaufrufen ist wieder ein Stück näher gekommen. Kernel-intern wurde eine neue Datenstruktur für Zeitstempel mit zwei 64-Bit-Feldern definiert und an einigen Stellen verwendet. Außerdem wurden die SysV-Prozesskommunikationsaufrufe 2038-fest gemacht. Die zentrale Datenstruktur struct page erhielt einige Optimierungen und die Kernel-Konfigurationssprache kann nun Makros definieren.

Der Grafiktreiber Nouveau unterstützt jetzt Nvidias Volta-Chips. Auch AMD Vega 20 wird offenbar bereits unterstützt, noch bevor entsprechende Hardware erhältlich ist. Mit teilweiser Unterstützung des Qualcomm Snapdragon 845 ist zum ersten Mal Code für einen aktuellen Soc der höchsten Leistungsklasse im offiziellen Kernel vorhanden. 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: 40 || Alle anzeigen )
Remaster mit Kernel 4.18rc3 (Janko Weber, Mo, 9. Juli 2018)
32bit x86-Patches gegen Meltdown? (noob, Di, 19. Juni 2018)
Re[7]: Treiber und die NSA (Verfluchtnochmal-05995bd7b, Di, 19. Juni 2018)
Re[5]: Treiber und die NSA (Verfluchtnochmal-05995bd7b, Di, 19. Juni 2018)
Re[5]: Treiber und die NSA (Anon Y. Mouse, Di, 19. Juni 2018)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung