Login
Login-Name Passwort


 
Newsletter
Werbung

Mo, 16. April 2018, 10:55

Software::Kernel

Erste Vorschau auf Linux-Kernel 4.17

Linux-Initiator Linus Torvalds hat die Kernel-Version 4.17-rc1 als erste Testversion für Linux 4.17 freigegeben. Durch zahlreiche Aufräummaßnahmen wurde der Kernel erstmals in der Geschichte kleiner.

Linus Torvalds, Initiator des Linux-Kernels

Linux Foundation

Linus Torvalds, Initiator des Linux-Kernels

Zwei Wochen nach Linux 4.16 hat Linus Torvalds nun die erste Testversion von Linux 4.17 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 11.700 etwas geringer als in Linux 4.16, womit auch 4.17 zu den kleinsten Kerneln seit zwei Jahren gehört. Die Integrationsphase verlief laut Torvalds sehr ruhig und ohne Probleme, wie schon beim Vorgänger. Bemerkenswert fand Torvalds, dass jetzt die Zahl von sechs Millionen Objekten in Git überschritten wurde. Dies wäre eigentlich ein Anlass, dem nächsten Kernel die Version 5.0 zu verpassen. doch das wird voraussichtlich nicht passieren, wenn auch nur aus dem Grund, dass Torvalds nicht vorhersehbar sein will. Eine Bedeutung hat es nicht, wenn die Hauptversionsnummer hochgezählt wird, da die Zahl der Änderungen in jeder Version ungefähr gleich ist und inkompatible Änderungen grundsätzlich ausgeschlossen sind. Dessen ungeachtet wird Version 5.0 irgendwann kommen - vermutlich noch vor oder anstelle von 4.20. Denn wie Torvalds früher einmal schrieb, werden Unterversionsnummern ab 20 unhandlich und kaum noch unterscheidbar; zudem stehen dann nicht mehr genug Finger und Zehen zum Zählen zur Verfügung.

Inkompatible Änderungen gibt es in Linux 4.17 trotzdem - und zwar durch die Entfernung von nicht weniger als acht Architekturen. Es handelt sich um die Microcontroller-Architekturen blackfin, cris, frv, m32r, metag, mn10300, score und tile, die alle nur eine kurze Blüte erlebten und aktuell keine Benutzer mehr haben, so dass es nicht einmal auffällt, dass sie nun verschwinden und teils schon länger nicht mehr gepflegt wurden. Der Kernel wurde durch diese Maßnahme um 470.000 Zeilen Code kleiner. Zugleich wurde aber eine neue Architektur hinzugefügt: NDS32 von Andes Technologies.

Auch an anderer Stelle wurde der Kernel durch Aufräumarbeiten kleiner. Copyright-Vermerke wurden durch die Umstellung auf SPDX kleiner, einige Parser- und Lexer-Dateien wurden entfernt, weil sie generiert werden können, und obsolete Treiber wie Irda wurden entfernt. Im Endergebnis wurden in dieser Version im Kernel mehr Zeilen entfernt als neu hinzugefügt (818855 zu 627723), laut Torvalds wohl zum ersten Mal in der Geschichte.

Unter den sonstigen Änderungen des Kernels ragt keine besonders heraus. Der Systemaufruf perf_event_open erhielt die Möglichkeit, einen kprobe- oder uprobe-Tracepoint zu setzen. Im Scheduler wurde die Abschätzung der aktuellen Auslastung verbessert, was besonders im Mobil- und eingebetteten Bereich zu besseren Entscheidungen und damit auch mehr Energieeffizienz führen soll. Der Systemaufruf bpf kennt jetzt das Kommando BPF_RAW_TRACEPOINT, das ein BPF-Programm mit einem Tracepoint verknüpft, aber keine Verarbeitung der Tracepoint-Argumente vor dem Aufruf vornimmt.

Neu ist in der SPARC-Architektur die Unterstützung für »Application Data Integrity«. Beim Dateisystem XFS kam die Mount-Option lazytime hinzu, während bei Btrfs nicht benutzte ioctl-Aufrufe zur Steuerung von Transaktionen entfernt wurden. CIFS erhielt Unterstützung für SMB 3.1.1 pre-authentication integrity. Die Unterstützung von SMB 3.1.1 wird außerdem nicht mehr als experimentell angesehen.

Im Netzwerkbereich erhielt das Reliable Datagram Socket-Protokoll Unterstützung für Zero-Copy. BPF-Skripte können zum Filtern auch in sendmsg und sendfile verwendet werden. Nachdem bereits Teile des TLS-Protokolls im Kernel implementiert wurden, wurde dies jetzt um die Implementation der Empfänger-Seite erweitert. Eine weitere Änderung macht es möglich, mit BPF-Programmen die Arbeitsweise der Systemaufrufe bind und connect zu modifizieren. Diese Modifikation ist auf Basis von Control Groups.

Das Kommando perf script unterstützt jetzt Skripte in Python 3. Darüber hinaus nutzt der Kernel den asm goto-Befehl, der nur von GCC ab Version 4.5 unterstützt wird. Vorläufig lässt sich der Kernel also nicht mehr mit Clang generieren. Dazu kommen zwei interne Aufräumaktionen von größerer Reichweite: Zum einen wurde wait_on_atomic_one durch durch wait_event_var ersetzt, zum anderen wurden alle Systemaufrufe, die der Kernel selbst direkt aufrief, ersetzt.

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
Pro-Linux
Pro-Linux @Twitter
Neue Nachrichten
Werbung