Login
Newsletter
Werbung

Mo, 13. November 2017, 09:05

Software::Kernel

Linux-Kernel 4.14 freigegeben

Linux-Initiator Linus Torvalds hat Version 4.14 des Linux-Kernels freigegeben. Die Unterstützung der RAM-Verschlüsselung von AMD-Prozessoren sowie fünfstufige Seitentabellen gehören zu den größten Neuerungen, außerdem wurden die teils unfreien Firmware-Images komplett entfernt.

Linus Torvalds

Hans-Joachim Baader

Linus Torvalds

Zehn Wochen nach Linux 4.13 ist nun Linux 4.14 fertiggestellt. Linux-Initiator Linus Torvalds hatte die Testphase um eine Woche verlängert, nachdem die Integration nicht ganz ohne Schwierigkeiten verlaufen war. In der letzten Woche kamen allerdings nur noch wenige, durchweg kleine Änderungen dazu. Lediglich eine Änderung war etwas größer, und zwar die Aufnahme eines Perl-Skripts, das noch in Entwicklung ist. Dieses hat keinen Einfluss auf den aktuellen Kernel. Es soll dabei helfen, um in der nächsten Version Kernel-Pointer in den Ausgaben durch einen Hash darzustellen, der keine Rückschlüsse auf die reale Adresse zulässt. Um Informationslecks zu schließen, gibt es nämlich im Kernel eine Einstellung, alle ausgegebenen Kernel-Adressen durch Nullen zu ersetzen. Dies behindert aber auch das Debugging, falls es einmal nötig sein sollte. Einen Hash statt Nullen auszugeben, stellt einen Kompromiss dar, der Informationslecks vermeidet, aber die Pointer unterscheidbar macht.

Durch die Verzögerung von Linux 4.14 wird sich die zweiwöchige Integrationsphase in die Thanksgiving-Woche in den USA erstrecken, die Torvalds für einen Urlaub nutzen will. Er hatte zwar erst kürzlich wieder erklärt, dass er auch während dieser Zeit weiterarbeite, doch er hofft, dass alle wesentlichen Änderungen bereits in der ersten Woche bei ihm eintreffen. Ansonsten wäre auch eine Verzögerung der Freigabe von Linux 4.15-rc1 denkbar.

Die weitaus meisten Änderungen in Linux 4.14 betrafen wie immer die Treiber. Mit über 12.700 Änderungen war auch diese Version nicht klein und etwas umfangreicher als 4.13. Eine Änderung ohne große Auswirkung war die Entfernung der Firmware-Images aus dem Kernel-Quellcode, die niemand mehr benutzen dürfte, weil es ein separates Repositorium dafür gibt. Das Verzeichnis firmware im Kernel-Quellcode existiert damit nicht mehr. Es hätte bereits vor Jahren entfernt werden können, was aber laut Greg Kroah-Hartman irgendwie vergessen wurde.

Ein verbesserter Mechanismus für Stack-Traces, der ORC Unwinder, soll für zuverlässigere Stack-Traces und Live-Patching sorgen und zudem noch schneller sein als Frame-Pointers. Control Groups können nun mit Threads arbeiten. Weitere Änderungen sind eine neue Schnittstelle für Anwender von RDMA und eine Erweiterung der Systemaufrufs membarrier.

Im Perf-Subsystem wurden abermals viele Erweiterungen platziert, die man in einem Eintrag in Git nachlesen kann. CPU-Frequenzregler können jetzt CPU-übergreifend arbeiten, was sowohl die Energieverwaltung als auch die Reaktion auf Änderungen der CPU-Last verbessern soll. Im Netzwerk-Subsystem gibt es eine neue Methode für Zero-Copy-Operationen. Hierbei liest der Kernel die zu übertragenden Daten direkt aus einem Puffer der Anwendung und meldet über den Fehlerkanal, wenn die Übertragung vollständig ist und der Prozess neue Daten in den Puffer schreiben kann. Tatsächlich werden auch bei diesem Zero Copy die Daten immer noch ein- oder mehrmals kopiert, allenfalls einmal weniger als sonst.

Tiefgreifende Änderungen wurden in der x86-Speicherverwaltung vollzogen. Zum einen kamen fünfstufige Seitentabellen hinzu, die den adressierbaren Speicher auf 128 PiB virtuell und 4 PiB real (57 bzw. 52 Adress-Bits) erhöhen. Mit den bisherigen vierstufigen Seitentabellen konnten 128 TiB adressiert werden (47 Bit), das derzeitige Limit stellen jedoch die nur 48 bereitgestellten Adressbits der Prozessoren dar, die aktuelle Rechner, die 64 TiB enthalten, bereits an die Grenzen stoßen lässt. Nimmt man den Zeitraum zwischen vier- und fünfstufigen Seitentabellen als Maßstab, wird die nächste Erweiterung auf sechs Stufen in zwölf Jahren fällig. Die beiden weiteren Änderungen in der x86-Speicherverwaltung sind die Unterstützung von ASID und die Sichere Speicherverschlüsselung von AMD.

Der Systemaufruf madvise erhielt eine neue Option MADV_WIPEONFORK, um den entsprechenden Speicherbereich einem Kindprozess mit Nullen gefüllt zu präsentieren. Die Arbeit an besser skalierbarem Swapping hat jetzt erreicht, dass die Aufteilung von Huge Pages bis nach dem Swappen verzögert wird, was die Geschwindigkeit um bis zu 42% steigert. Die nächste Stufe, die Huge Pages ohne Aufteilung swappt, steht noch aus.

Disk Quotas wurden in der Geschwindigkeit optimiert. Das CIFS-Dateisystem kann jetzt erweiterte Attribute mit dem Protokoll SMB3 lesen und schreiben. Neu ist die heterogene Speicherverwaltung, die es Chips mit eigenen Speicherverwaltungseinheiten, beispielsweise den modernsten Grafikchips, ermöglicht, auf den Hauptspeicher zuzugreifen.

Datei-Capabilities können jetzt auch innerhalb von Benutzer-Namensräumen verwendet werden. Außerdem wurde dem Kernel Unterstützung für die zstd-Kompression hinzugefügt.

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