Login
Newsletter
Werbung

Mo, 2. April 2018, 09:55

Software::Kernel

Linux-Kernel 4.16 freigegeben

Linux-Initiator Linus Torvalds hat Version 4.16 des Linux-Kernels freigegeben. Neben weiteren Maßnahmen gegen Meltdown und Spectre flossen zahlreiche Optimierungen und Erweiterungen ein.

Linus Torvalds, Initiator des Linux-Kernels

Linux Foundation

Linus Torvalds, Initiator des Linux-Kernels

Neun Wochen nach Linux 4.15 ist nun Linux 4.16 fertiggestellt. Mit über 13.400 gehört Linux 4.16 von der Zahl der Änderungen her zu den kleineren Ausgeben der letzten Zeit. Wie üblich verteilen sich die Änderungen über alle Subsysteme. Laut Torvalds verliefen dieses Mal, anders als in 4.15, die Integration und die anschließende Testphase sehr ruhig.

Die Maßnahmen gegen die katastrophalen Prozessorfehler Meltdown und Spectre wurden in dieser Version verbessert und auf andere betroffene Architekturen ausgedehnt. Abgeschlossen sind sie wohl noch lange nicht. Die Fehler werden von den Chip-Herstellern teilweise durch Microcode-Updates behoben, die aber erst nach und nach kommen. Dementsprechend muss der Kernel angepasst werden, um diese Updates zu erkennen, und in jedem Einzelfall muss abgewogen werden, ob die Nutzung der neuen Microcode-Features oder ein Workaround in Software die bessere Leistung verspricht.

Die Behandlung des i_version-Feldes in der Inode-Struktur wurde geändert, was viele Schreibvorgänge auf den Datenspeicher eliminieren kann. Die praktische Auswirkung dieser Änderung muss noch konkret ermittelt werden, ist aber potentiell sehr groß. Ebenfalls spürbare Auswirkungen könnte die automatische Nutzung von weiteren Energiespar-Modi für Intel-Prozessoren in Laptops bringen. Die Akkulaufzeit eines Laptops könnte damit je nach Gerät um rund eine Stunde steigen. Dabei beschränkt sich die Nutzung der Optionen auf diejenigen, die bisher als für das System gefahrlos gelten.

Auch dieses Mal trugen Header-Dateien mit Definitionen für AMD-Grafikchips besonders stark zu den Änderungen bei. Dieses Mal handelte es sich aber mehr um die Entfernung von Definitionen durch die Bereinigung von Code. Der AMDGPU-Treiber erhielt auch Unterstützung für die Synchronisation mehrerer Displays. Anfängliche Unterstützung für den Hypervisor Jailhouse hielt bei x86-64 Einzug. Damit kann Linux in einer Nicht-Root-Zelle unter Jailhouse laufen. Auch KVM erhielt eine Erweiterung: Es unterstützt jetzt die Secure Encrypted Virtualization (SEV).

Die ARM-Architektur kann auf den leistungsstärksten Chips jetzt physische Adressen mit 52 Bit (4 Petabyte) nutzen, vier Bit mehr als bisher. Die PowerPC-Architektur erhielt hingegen Unterstützung für Speicherschutzschlüssel.

Der Systemaufruf membarrier wurde um die Optionen MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITE und MEMBARRIER_CMD_GLOBAL_EXPEDITED erweitert. Der Deadline-Scheduler kann nun die Frequenz- und Spannungs-Skalierung der Prozessoren nutzen, so dass die Energiesparfunktionen nicht mehr deaktiviert werden müssen, wenn er genutzt werden soll. Außerdem wurde der Berkeley Packet Filter (BPF) mit der Möglichkeit ausgestattet, Funktionen zu definieren und aufzurufen.

Im Dateisystem XFS wurde eine neue Funktion, die bisher als experimentell markiert war, für stabil erklärt: Der Reverse-Mapping-B-Tree. Darüber hinaus gab es weitere Verbesserungen. Das MultiMediaCard-Subsystem benutzt jetzt die Multiqueue-Block-Schnittstelle. Die I/O-Scheduler unterstützen jetzt gesperrte Zonen, die das Umsortieren von Schreibvorgängen verbieten, die in der originalen Reihenfolge ausgeführt werden müssen. Das CIFS-Dateisystem erhielt Unterstützung für SMB Direct, das RDMA zur Übertragung von SMB-Paketen nutzen kann, allerdings noch experimentell.

Bei Btrfs kamen die Operation FALLOCATE_FL_ZERO_RANGE des Aufrufs fallocate hinzu und der NFS-Client kann jetzt anhand der Flags im Aufruf statx unter Umständen einen Aufruf des Servers einsparen. Darüber hinaus wurde pwritev2 um ein Flag RWF_APPEND erweitert, das bewirkt, dass die Daten unabhängig vom aktuellen Offset an die Datei angehängt werden.

Das Overlay-Dateisystem kann jetzt per NFS exportiert werden. Dabei ist allerdings zu beachten, dass das das Verhalten ändert und ein Dateisystem erzeugen kann, das nicht mehr rückwärtskompatibel ist.

Das Format der printk-Kernel-Ausgaben kann jetzt mit einer Option beeinflusst werden. Zur Erhöhung der Sicherheit wurde das Usercopy Whitelisting implementiert. Der Parser für das Kernel-Konfigurationssystem wird jetzt mit den Werkzeugen Flex und Bison erzeugt, weshalb diese beiden Programme jetzt auch Voraussetzungen für die Kernel-Compilierung sind. Dies dürfte keine nennenswerte Einschränkung darstellen, da sie überall verfügbar sind und oft schon installiert werden, wenn man GCC installiert. Außerdem erhielt das Kernel-Bau-System die Option, aus dem Kernel ein Snap-Paket zu erstellen.

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 wird in Kürze eine übersichtliche Zusammenfassung der Änderungen veröffentlichen. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Werbung
Pro-Linux
Traut euch!
Neue Nachrichten
Werbung