Die Neuerungen von Linux 4.16

Seite 2: Die wichtigsten Neuerungen

Inhaltsverzeichnis

Längere Akkulaufzeit bei Notebooks mit Intels Mobil-Chips verspricht die neue Option CONFIG_SATA_MOBILE_LPM_POLICY. Anwender und Distributions-Entwickler könenn durch sie gleich beim Kernel-Bau festlegen, inwieweit Linux bei solchen Chips die Stromspartechnik ALPM (ATA Link Power Management) nutzt. Sie senkt die Leistungsaufnahme im Leerlauf oft um rund 1 Watt, wodurch die Akkulaufzeit sparsamer Notebooks schnell mal um eine halbe oder ganze Stunde steigt – manchmal sogar mehr.

Die durch ALPM erzielte Einsparung von 1 Watt kann die Leerlauf-Leistungsaufnahme sparsamer Notebooks schnell mal um 10 oder 20 Prozent reduzieren.

(Bild: git.kernel.org – ebb82e3c79 )

Dennoch lassen Linux-Distributionen dieses Stromsparpotenzial seit vielen Jahren zumeist links liegen, weil einige der von Linux unterstützten ALPM-Modi zu Datenschäden und anderen Problemen führen. Ein jüngst nachgerüsteter und im Kernel-Log zu Linux 4.15 näher erläuterter Modus zum Device Initiated Power Management (DIPM) verspricht, das zu vermeiden. Der Trick: Der Modus konfiguriert ALPM genau so, wie es Intels Windows-Treiber macht, weil sich das unter Windows im Feldtest  bewährt hat.

Bei 4.15 kann man diesen Modus nur via Sysfs wählen. Distributionen könnten DIPM daher leicht über eine kleine Anpassung der Boot-Skripte automatisch aktivieren. Meist dauert es aber Jahre, bis alle Distributoren so etwas umsetzen.

Die neue und im Entwicklungszweig von Fedora 28 bereits erfolgreich getestete Konfigurationsoption verspricht, die Verbreitung zu beschleunigen: Die Kernel-Maintainer der Distributionen können einfach bei der Konfiguration vorgeben, dass DIPM automatisch genutzt werden soll. Die neue Option wirkt sich aber nur auf Notebooks mit Intels Mobil-Chipsätzen aus. Bei Desktop-PCs, Servern und Notebooks mit anderen Chipsätzen muss man die Stromspartechnik daher nach wie vor bei jedem Datenträger manuell aktivieren, indem man med_power_with_dipm in Dateien wie /sys/class/scsi_host/host0/link_power_management_policy schreibt. Wie mit vielen anderen Stromspartechniken geht auch mit dieser ein kleiner Performance-Verlust einher. In den meisten Fällen ist der die Rede aber nicht wert.

Dies war ein schrittweise aktualisierter Artikel​

Dieser Text wurde mehrfach erweitert, um nach und nach alle wesentlichen Änderungen Linux 4.16 zu beschreiben. Zur jüngst erfolgten Freigabe dieser Kernel-Version haben wir die Abschnitte umsortiert und Abschnitte zu wichtigeren Neuerungen an den Anfang gestellt. Von nun an behält der Text seine jetzige Form. Details zur Versionshistorie des Artikels finden Sie am Artikelende.

Längere Akku-Laufzeit bei Notebooks verspricht eine kleine Änderung, die eine neue Konfigurationsoption nachrüstet. Anwender und Distributionen können über sie schon beim Kernel-Bau festlegen, dass per USB angebundene Bluetooth-Chips automatisch schlafen gehen, wenn die Möglichkeit dazu besteht. Im Idealfall kann dadurch auch die USB-Hardware in einen sparsameren Modus wechseln, wodurch womöglich auch die CPU tiefer schlafen kann.

Dieses USB Autosuspend für den Bluetooth-Chip muss man bislang manuell oder über Programme wie Powertop oder TLP aktivieren. Die Leistungsaufnahme im Leerlauf sinkt durch die Stromsparfunktion meist um zirka 0,4 Watt, wie der Entwickler erklärt und frühere Messungen im c't-Labor bestätigen. Gerade bei Ultrabooks oder sparsamen Notebooks kann das die Akkulaufzeit signifikant steigern, denn bei optimaler Konfiguration nehmen solche Geräte im Leerlauf oft weniger als 6 Watt auf – ein halbes Watt mehr oder weniger fällt da recht stark ins Gewicht. 

Die neue Konfigurationsoption zum Bluetooth USB Autosuspend stammt vom Entwickler, der bei Linux 4.15 und 4.16 auch einige Änderungen an den ATA-Treibern vorgenommen hat, um die Akkulaufzeit von Notebooks zu steigern. Das ist auch das Ziel weiterer Umbauten, auf die er hinarbeitet. Details hierzu finden sich in der Video-Aufzeichnung und den Präsentationsfolien eines Vortrags, den der Red-Hat- und Fedora-Entwickler Anfang Februar auf der FOSDEM gehalten hat.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

Zum Bau des Kernels muss man jetzt die in Distributionen typischerweise enthaltenen Werkzeuge Flex und Bison einrichten, weil einige damit aufbereitete Dateien den Kernel-Quellen nicht mehr beiliegen, sondern frisch erzeugt werden (u. a. 1, 2).

Einige Änderungen an Intels Grafiktreiber versprechen, Nutzwert und Alltagstauglichkeit des Supports für Intels Graphics Virtualization Technology (GVT-g) zu steigern. Mit dieser seit Linux 4.8 grundlegend unterstützten Technik kann man virtuellen Maschinen (VMs) Teile des Grafikkerns des Host zuweisen, den das Betriebssystem in der VM ohne viel Overhead wie eine normale GPU nutzen kann. Sprich: Linux oder Windows können aus einer VM die 3D- oder Video-Beschleunigung der Prozessorgrafik nutzen. Bislang gab es aber keinen rechten Weg, um das im Gastsystem per GVT-g beschleunigt erzeugte Bild auch effizient an den Host zu übermitteln. Ein solcher wurde jetzt mit Hilfe der DMA-Buffer-Sharing-Technik Dma_Buf und der Geräte-Überstelltechnik Mdev (Mediated Device Interface) geschaffen, die der Kernel seit Linux 3.3 respektive Linux 4.10 beherrscht (u. a. 1, 2, 3, 4, 5, 6, 7, 8, 9).

Ohne viel Overhead soll der Host die Bedienoberflächen von VMs lokal darstellen oder an entfernte Systeme schicken können.

(Bild: Blog-Beitrag auf 01.org )

Durch den neuen Bildweiterleitungspfad kann die Desktop-Oberfläche des Hosts die im Gast erzeugte Bedienoberfläche ohne viel Aufwand integrieren, denn der Host-Compositor kann das Bild ähnlich wie ein normales Anwendungsfenster mit OpenGL handhaben. Der Host kann die Bedienoberfläche der VM auch direkt auf einem seiner Monitorausgänge im Vollbild-Modus ausgeben, was aber vornehmlich für Embedded-Einsatz gedacht zu sein scheint. Darüber hinaus soll der neue Weg auch ein effizientes Übertragen an entfernte Systeme per Spice-Protokoll erlauben. Das ist etwa für eine Virtual Desktop Infrastructure (VDI) interessant, bei der Thin Clients nur die Desktops von Betriebssystemen darstellen, die als VM im Rechenzentrum laufen; das Ganze ist auch für Remote Gaming gedacht, bei dem Spiele in der Cloud laufen. Für solche Einsatzzwecke sind aber noch weitere Umbauten angedacht, denn effizient arbeitet der Spice-Weg bislang nur bei lokalen VMs.

Das Ganze gelingt derzeit mit KVM und einem modifizierten Qemu. Die zuständigen Qemu-Anpassungen stecken noch in der Begutachtungsphase, dürften aber wohl bald in den Entwicklerzweig des System-Emulators einziehen. Daher wird es noch ein Weilchen dauern, bis Linux-Distributionen alles für Intels GVT-g von Haus aus mitbringen. Viele weitere Details zum Ansatz liefert ein Blog-Eintrag, den einer der beteiligten Intel-Entwickler verfasst hat.

Einen Performance-Zuwachs bei kleinen I/O-Operationen verspricht einige Umbauten an der Struktur zur Handhabung von Dateien. Die "inode->i_version" genannte Änderung eliminiert nämlich eine durch geänderte Metadaten fällige Schreiboperation, die bislang bei Updates von Nutz- oder Metadaten typischerweise fällig war, obwohl in der Praxis niemand die geänderten Metadaten nutzte.

Der zuständige Entwickler liefert keine Benchmarks mit, um die Vorteile des Umbaus unter Beweis zu stellen; er verweist stattdessen auf eine Warnung eines Constant-Integration-Testsystems, bei einem 4k-Schreib/Lese-Test mit XFS und DAX habe der Datendurchsatz um 244 Prozent zugelegt. Bei solchen Ergebnissen gilt aber wie immer: Unter anderen Umgebungsbedingungen mag die Änderung rein gar nichts bewirken.

Die Kernel-Entwickler haben eine Reihe von Umbauten vorgenommen, um die Kernel-intern verwendenten Routing-Strukturen zu entschlacken und so die Performance zu steigern. Das Ganze ist Teil eines Feldzugs gegen Overhead im Netzwerk-Code von Linux, den Netzwerk-Subsystem-Maintainer David S. Miller gerade vorantreibt. Details hierzu finden sich in den Präsentationsfolien und der Video-Aufzeichnung des Vortrags "Linux Networking Dietary Restrictions", den Miller im November auf der Netdev 2.2 gehalten hat. Von diesen und anderen Talks hat LWN.net einige Notizen online gestellt, die Teilnehmer zusammengetragen haben.