Die Neuerungen von Linux 4.17
Spectre-v4-Schutz, Kernel-seitige TLS-EntschlĂĽsselung, HDCP-Support und Grafiktreiber fĂĽr neue AMD- und Intel-GPUs sind einige der Highlights von Linux 4.17. AuĂźerdem sollen AMD- und Intel-Prozessoren im Leerlauf weniger Strom verbrauchen.
- Thorsten Leemhuis
In der Nacht zum ersten Juni-Montag hat Linus Torvalds den Linux-Kernel 4.17 freigegeben. Wie jede neue Version der Hauptentwicklungslinie von Linux bringt auch die neueste weit ĂĽber zehntausend Ă„nderungen. Einige rĂĽsten neue Features nach, andere verbessern existierende. Die wichtigsten Ă„nderungen in Kurzform:
- Der Kernel kann sich nun selbst um die Schwerarbeit beim EntschlĂĽsseln einer per TLS (Transport Layer Security) geschĂĽtzten DatenĂĽbertragung kĂĽmmern.
- Untätige AMD- und Intel-Prozessoren sollen mit 4.17 weniger Strom verbrauchen.
- Die Kernel-Entwickler haben nochmal Finetuning am Schutz von den Prozessorlücken Spectre v1 und v2 vorgenommen; die gegen Meltdown eingeführten Technik weist auf älteren Systemen jetzt weniger Overhead auf. Außerdem stieß eine Maßnahme gegen die im Mai bekannt gewordene Lücke Spectre v4 zum Kernel.
- Intels Grafiktreiber unterstĂĽtzt jetzt HDCP und spricht jĂĽngst vorgestellte Mobil-Prozessoren an. AMDs Grafiktreiber erhielt viele wichtige Detailverbesserungen.
- XFS hat eine Optimierung gelernt, die Ext4 schon länger beherrscht. Letzteres Dateisystem kommt bei manipulierten Dateisystemen nicht mehr so leicht aus dem Tritt.
- Die Kernel-Entwickler haben den Hardware-Support abermals deutlich verbessert, indem sie Dutzende neuer Treiber aufgenommen und viele existierende verbessert haben.
- Bei einigen Thinkpad-Notebooks lässt sich jetzt feiner konfigurieren, ab wann und bis wohin die Firmware den Akku laden soll. Das kann Ladezyklen reduzieren und so die Lebensdauer von Akkus steigern.
- Ein von Linus Torvalds gelegentlich humorvoll in Aussicht gestellter Versionssprung auf Linux 5.0 blieb aus; der Wechsel könnte aber schon bald erfolgen.
- Vor allem durch einen Frühjahrsputz beim Architektur-Support schrumpften die Kernel-Quellen mit der neuen Version – das passiert erst das dritte Mal in der Geschichte der modernen Linux-Entwicklung.
- Änderungen zur umfangreicheren Secure-Boot-Unterstützung wurden lautstark zurückgewiesen. Womöglich ziehen sie aber ohne viel Aufsehens in Linux 4.18 ein, das am 6. oder 13. August erscheinen dürfte.
Die folgenden Absätze und Artikelseiten liefern Details zu diesen und zahlreichen weiteren Neuerungen.
Kernel entschlĂĽsselt TLS-Datenstrom
Der Kernel kann sich nun selbst um die Schwerarbeit beim EntschlĂĽsseln einer per TLS (Transport Layer Security) geschĂĽtzten DatenĂĽbertragung kĂĽmmern. Das gelingt durch eine Erweiterung des bei Linux 4.13 integrierten Kernel TLS (KTLS). Durch Letzteres hat Linux vor einem dreiviertel Jahr gelernt, ĂĽber eine TLS-Verbindung versendete Daten selbst zu verschlĂĽsseln; jetzt folgt das GegenstĂĽck, durch das KTLS direkt beim Empfang entschlĂĽsseln kann.
In beiden Fällen verspricht die Handhabung im Kernel, die Performance von HTTPS und anderen Übertragungsprotokollen zu verbessern, die TLS nutzen. Durch KTLS kann der Kernel beispielsweise die Daten effizienter verarbeiten, weil er diese im Idealfall seltener im Speicher hin- und herschieben muss; außerdem kann er Krypto-Beschleuniger besser einbinden. Durch solche Vorteile kann KTLS den Datendurchsatz steigern, die Systemlast reduzieren und Latenzen reduzieren.
Wie beim Sendepfad kümmert sich KTLS auch beim Empfangen nur um die symmetrische Entschlüsselung; den komplexeren und fehleranfälligen Verbindungsaufbau samt der dabei genutzten asymmetrischen Verschlüsselung überlässt der Kernel nach wie vor Userspace-Bibliotheken wie OpenSSL. Weitere Hintergründe zum Ganzen finden sich im Kommentar eines Merge Request von 4.17, mit dem der TLS-Rx-Support samt Dokumentation in Linux einfloss.
Leerlauf-Optimierung fĂĽr AMD- und Intel-CPUs
Für allerlei Aufsehen im Linux-Umfeld sorgten einige Änderungen, durch die manche Systeme mit Intel-CPUs bis zu zehn Prozent sparsamer laufen (siehe u. a. 1, 2). Das Ganze trifft allerdings vornehmlich Server mit mehreren Dutzend Prozessorkernen. Die Optimierungen entstanden, nachdem Forscher der TU Dresden 2017 in einem Artikel gezeigt hatten, dass Intels Prozessoren im Leerlauf manchmal unnötig kurz aktiv werden, statt weiter zu schlafen. In Zusammenarbeit mit den zuständigen Kernel-Entwicklern von Intel konnten sie das Problem beheben, wie die TU Dresden stolz mitteilt. Bei Anwendungen mit kurzen Schlafzyklen soll dadurch auch die Latenz sinken; dadurch steigt auch die Performance ein wenig.
Auch Systeme mit AMDs aktuellen Prozessoren dürften mit 4.17 etwas sparsamer laufen. Das ist einer kleinen Änderung am Code zu verdanken, der den Prozessor im Leerlauf schlafen schickt. Er nutzte auf AMD-CPUs bislang den MWAIT-Aufruf, durch den AMDs aktuelle Prozessoren aber lediglich in den Schlafmodus C1 wechseln; jetzt verwendet der Kernel CPUIDLE oder HALT, durch die Ryzen, Epyc & Co. auch in tiefere und daher effizientere Schlafzustände wechseln.