Betriebssysteme: Linux 4.19 bringt neuen Code of Conduct
Mit der Veröffentlichung der finalen Version 4.19 des Linux-Kernels kehrt Linux-Erfinder Linus Torvalds aus seiner selbst auferlegten Auszeit zurück. Die weitere Pflege des Linux-Kernels 4.19 übernahm zunächst Greg Kroah-Hartman, der nach Linux-Erfinder Torvalds als Nummer zwei der Kernel-Entwicklung gilt. Der von Torvalds eingeführte und im Kernel-Quellcode festgelegte Code of Conduct, der den Verhaltenskodex der Linux-Entwickler untereinander definieren soll, führte jedoch zu vielen Diskussionen.
Auch in dieser Linux-Version gibt es Patches zu den bekanntgewordenen Sicherheitslücken aktueller Prozessoren. Torvalds sprach zu Beginn deshalb von einem "frustrierenden Release" . Darüber hinaus wurden in Linux 4.19 etliche Anpassungen eingepflegt, welche die Netzwerk- und Datenträgerzugriffe sowie die CPU-Auslastung verbessern.
Kurz bevor Torvalds nach der Veröffentlichung der dritten Testversion von Linux 4.19 eine Auszeit nahm, um nach eigenen Angaben sein Verhalten gegenüber anderen zu ändern , wurde ein schriftlich festgelegter und vom Technical Advisory Board abgesegneter Verhaltenskodex unter dem Namen Code of Conduct in den Linux-Code eingepflegt. Er ersetzt den Code of Conflict, dessen Regeln wie "Seid großartig zueinander" als zu wenig aussagekräftig kritisiert wurde.
Ärger um Code of Conduct
Der Code of Conduct hingegen, der auf dem Contributor Covenant basiert, legt klare Regeln fest und nennt Beispiele für unerwünschtes Verhalten. Der Contributor Covenant gilt beispielsweise im Grafik-Subsystem bereits seit zwei Jahren. Während viele den neuen Verhaltenskodex begrüßten – darunter die Koordinatorin des Outreachery-Projekts Vaishali Thakkar -, der Mitgliedern bisher unterrepräsentierter Gruppen den Einstieg in die Community über eine Art bezahltes Praktikum ermöglichen soll, kritisierten andere(öffnet im neuen Fenster) , dass der Code of Conduct nicht zuvor in den Mailing-Listen des Kernels wie üblich zur Diskussion gestellt wurde. Kroah-Hartman pflegte bereits einige Verbesserungsvorschläge ein, darunter eine Klarstellung(öffnet im neuen Fenster) , wie der Code of Conduct von der Linux-Community interpretiert werden soll.
Zuvor mussten sich zu Torvalds Ärgernis die Kernel-Entwickler mit Fixes für Sicherheitslücken in CPUs befassen. Diesmal wurden in aller Eile Patches für die jüngst entdeckte Foreshadow-Lücke (L1TF) eingereicht. Über diese Lücke können Prozesse den Level-1-Cache von Intel-CPUs auslesen. Besonders in virtualisierten Umgebungen kann die Lücke ausgenutzt werden, etwa indem aus einem Gastsystem auf den Host zugegriffen werden kann. Gegen die Sicherheitslücke Meltdown wurden bereits die Kernel-Page-Table-Isolation-Patches für 64-Bit-Systeme implementiert. Seit Linux 4.19 sind auch 32-Bit-Systeme damit abgesichert.
Besser getaktet, mehr Energie gespart
Um die geeigneten Takteinstellungen für die CPU zu finden, verwendet der Linux-Kernel einen Scheduler. Dessen Algorithmus wurde erweitert, so dass er die benötigte Zeit der Echtzeitprozesse, Deadline-Prozesse und Interrupts registriert und entsprechend die Taktung der CPU anpasst. Zudem wurde die Programmierschnittstelle zur Abfrage von asynchronen Ein- und Ausgaben (Asynchronous I/O Polling Interface) wieder in den Kernel aufgenommen. Nachdem diese in Linux 4.18 zunächst eingezogen war, wurde der Code wieder entfernt, weil Torvalds bei nochmaliger Prüfung nicht damit zufrieden war. Bei Aufräumarbeiten entfiel der Tracing-Mechanismus Jprobes, der längst durch Ftrace abgelöst wurde.
Der freie Treiber für Grafikkarten von AMD erfuhr vergleichsweise wenige Neuerungen in Linux 4.19. Für die integrierte Grafikeinheit in den Raven Ridge genannten Accelerated Processing Units (APU) gibt es einige neue Einstellungen, die Energie sparen sollen. Künftig ist es beispielsweise möglich, die Grafikeinheiten komplett zu deaktivieren, wenn sie nicht verwendet werden, etwa wenn eine externe Grafikkarte in einem System zum Einsatz kommt. Der Code für die Powerplay-Funktionen wurde ebenfalls nochmals überarbeitet und verbessert. Zudem greift der Treiber jetzt direkt auf die PCI-Express-Schnittstelle des Kernels zu und nutzt dafür nicht mehr den eigenen.
Neuer virtueller Grafiktreiber, Unterstützung für CEC-Fernbedienungen
Mit dem Einzug des virtuellen Grafiktreibers für die Kernel Virtual Machine (KVM) kann über die Grafikserver X.org oder Wayland auf virtuelle Gastsysteme zugegriffen werden – auch ohne die Unterstützung von Grafikkarten. VKMS entstand bei Googles Summer of Code und bietet bereits Verbindungen zu einem Displaycontroller und einem Encoder. Der Code für VKMS wurde zunächst in Linux-Next aufgenommen und soll dort noch auf mögliche Verbesserungen untersucht werden, bevor er endgültig im Hauptzweig des Linux-Codes akzeptiert wird.
Optimierte Verwaltung von Netzwerkpaketen
Bei dem freien Treiber Nouveau für Grafikkarten von Nvidia blieb es in dieser Runde außer einiger weniger Bugfixes ruhig. Für den Treiber für Grafikchips von Intel gibt es ebenfalls Aktualisierungen, die unter anderem das Panel Self Refresh verbessern, bei dem der Treiber unabhängig von der CPU das Display bei unverändertem Bildinhalt aktualisiert und dadurch den Energieverbrauch bei Notebooks senkt. Damit Befehle von HDMI-CEC-fähigen Fernbedienungen auch über Displayport- und USB-C- auf HDMI-Adapter weitergeleitet werden können, gibt es jetzt einen Patch für Linux 4.19.
Mit neuen Patches für den Netzwerk-Stack haben die Linux-Entwickler die Funktion Timed-Based Packet Transmission eingeführt. Damit lassen sich Zeiträume festlegen, in denen Netzwerkpakete versendet werden sollen. Das soll insbesondere in Echtzeitsystemen, etwa im Bereich der Automobilproduktion, für eine zuverlässigere Datenübertragung sorgen und besonders verhindern, dass Pakete zu spät an ihrem Zielpunkt ankommen, wie ein Artikel bei LWN.net erläutert(öffnet im neuen Fenster) . Die Funktion folgt dem Netzwerkstandard P802.1Qbv.
Die Entwickler des Netzwerk-Stacks haben mit dem Cake (Common Applications Kept Enhanced) genannten Patchset Verzögerungsprobleme auf Routern in Heimnetzwerken angenommen. Cake sitzt direkt an der Schnittstelle zur Netzwerkhardware und entscheidet, welche Pakete an die Protokollschnittstelle weitergegeben werden sollen, wie ein Artikel auf LWN.net(öffnet im neuen Fenster) erklärt. Die von Cake verwaltete Warteschleife soll so exzessives Puffern und somit auch Latenzprobleme vermeiden. Cake ist vor allem für den Einsatz auf Routern gedacht, etwa in dem Linux-basierten freien Firmwareersatz OpenWRT.
Beschleunigte Zugriffe auf Datenträger
Bislang weitgehend undokumentiert ist die Skbprio genannte Warteschleife, die TC-Pakete anhand des Inhalts des Socket-Buffer-Felds (SKB) sortiert. Kommt es zu einer Überlastung, tritt Skbprio in Aktion, verwirft Pakete mit niedriger SKB-Priorität und leitet solche mit hoher Priorität weiter. Das soll vor allem bei DoS-Angriffen für Entlastung sorgen.
Blk-Iolatency heißt der neue I/O-Controller, der künftig dafür sorgen soll, dass Datenträgerzugriffe der Anwendungen, die in Cgroups festgelegt werden, zwischen wichtigen und unwichtigen unterscheiden können. Damit soll vermieden werden, dass es unter Last nicht zu Engpässen bei wichtigen Anwendungen kommt, wenn etwa parallel weniger wichtige Datenträger beansprucht werden.
Im Bereich Datenträger gibt es bereits seit längerem mit dem Multi-Queue Block IO Queueing Mechanism (Blk-Mq) die Möglichkeit, über das SCSI-Subsystem und dessen AHCI-Treiber über mehrere Warteschleifen auf Festplatten und SSDs zuzugreifen. Die Funktion wird standardmäßig aktiviert. Unter Btrfs können auch Dateien defragmentiert werden, während auf sie nur lesend zugegriffen werden kann. Mit neuen Funktionen können XFS-Dateisysteme während des Betriebs geprüft und repariert werden.
Der Quellcode von Linux 4.19 ist unter kernel.org(öffnet im neuen Fenster) erhältlich.
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



