Linux 4.19: Kernel-Entwickler wollen neuen Verhaltenskodex modifizieren Update

Linux-Kernel 4.19

Trends & News | Kernel-Log

Mehrere Linux-Entwickler haben den neuen Verhaltenskodex hinterfragt. Nach Ärger hat Torvalds die Möglichkeit entfernt, Code als überholt zu kennzeichnen.

Mittlerweile ist absehbar: Linux 4.19 erscheint in der Nacht auf Montag, den 22. Oktober, sofern nicht noch irgendetwas Unvorhergesehenes passiert. Sofern Torvalds seine früheren Andeutungen wahr macht, übernimmt er mit der Freigabe dieser Version auch wieder das Ruder der Linux-Entwicklung. Damit nicht genug: An dem Tag kommt er noch mit einigen der wichtigsten Kernel-Entwickler zusammen, um über wichtige Aspekte rund um die Kernel-Entwicklung zu debattieren. Da erwartet Torvalds gleich eine Diskussion über den jüngst eingeführten Verhaltenskodex.

Der unspezifische "Code of Conflict" habe sein Ziel nicht erreicht. (Bild: git.kernel.org – 8a104f8b5867 )

Torvalds hatte den neuen Verhaltenskodex kurz vor Veröffentlichung der vierten Vorabversion von Linux 4.19 etabliert, indem er den Text des "Code of Conduct" in die Kernel-Dokumentation integriert hat. Dabei hat er zugleich den im März 2015 eingeführten und weit gefassten "Code of Conflict" entfernt, der die Entwickler aufrief, großartig zueinander zu sein. Dieser Text habe "sein implizites Ziel nicht erreicht", heißt es im Commit-Kommentar.

Der Commit wurde von Greg Kroah-Hartman vorbereitet und von Torvalds signiert und eingepflegt, kurz bevor er seine Auszeit auf der Liste der Kernel-Entwickler verkündete. Die Änderung wurde offenbar weitgehend im stillen Kämmerlein ausgeheckt; zu den wenigen Entwicklern, die in einem kleinen Zeitfenster kurzfristig Stellung beziehen konnten, zählten die zehn Mitglieder des Technical Advisory Board (TAB) der Linux Foundation, das der Kodex als Durchsetzungsgremium nennt.

Der neue Verhaltenscodex ist deutlich länger und konkreter als der alte. (Bild: git.kernel.org – 8a104f8b5867 (Montage))

Der Codex hatte somit keine Begutachtungsphase auf einem öffentlichen Mailverteiler. Ein solches Review durchlaufen nicht nur die größeren, sondern auch die meisten trivialen Änderungen am Linux-Kernel: Das gilt als Eckpfeiler des Entwicklungsprozesses, denn es gibt anderen Programmierern und interessierten Parteien die Chance, vorab Probleme aufzuzeigen.

Die schnelle Integration ohne Review wurde unter anderem von Entwicklern kritisiert, die das Subsystem des Kernels betreuen. Sie sind besonders betroffen: Sie müssen sich beim Begutachten von Patches nicht nur an den Kodex halten, sondern auch auf seine Einhaltung in ihrem Umfeld achten – beispielsweise den Mailverteilern ihres Subsystems. Anfang Oktober haben unter anderem die beiden langjährigen und wichtigen Entwickler James Bottomley (1, 2, 3) und Geert Uytterhoeven einige Änderungen am Text des Kodex vorgeschlagen. Kroah-Hartman, der Torvalds während seiner Auszeit vertritt, hat dazu aber nicht näher Stellung bezogen; darüber hinaus sind sich auch die Entwickler nicht einig, ob die vorgeschlagenen Änderungen sinnvoll sind oder nicht.

Beim Maintainers Summit sind nur 30 Minuten zur Diskussion des COC angesetzt. (Bild: Mailingliste ksummit-discuss )

Letztlich sieht alles danach aus, dass 4.19 die Textfassung des Kodex mitbringen wird, die Torvalds integriert hat. Das Thema kommt aber schon in Kürze auf den Tisch, denn am 22. Oktober steht der diesjährige Maintainers Summit an: Das diesmal in Edinburgh stattfindende Treffen, auf dem einige der wichtigsten Kernel-Entwickler zusammenkommen, um mit Torvalds über Aspekte bei der Kernel-Entwicklung zu reden. Die Diskussion zum Code of Conduct steht ganz oben auf der Tagesordnung – genau wie für andere Punkte der Agenda sind allerdings auch für diesen nur 30 Minuten vorgesehen.

Nebenbei: Im Rahmen der Diskussionen um den Kodex kursierten Meldungen, Kernel-Entwickler hätten aufgrund des Verhaltenkodex verlangt, dass von ihnen beigesteuerter Code entfernt würde. Tatsächlich hat aber niemand so etwas öffentlich gefordert, der Änderungen zu Linux beigetragen hat. Nach Auffassung von Software Freedom Conservancy und einigen anderen im Open-Source-Bereich tätigen Juristen wären solche Bestrebungen ohnehin nicht mit der GPLv2 durchsetzbar, der Linux untersteht. Außerdem enthält der bei der Kernel-Entwicklung verwendete Prozess sogar eine Regel, damit solche Forderungen in Leere laufen. Wie immer sind das aber nur Regeln und Vorkehrungen, über die im Streitfall letztlich Gerichte entscheiden.

Linus Torvalds missfielt die Möglichkeit zur Deprecated-Kennzeichnung so sehr, dass er sie entfernt hat. (Bild: git.kernel.org – 771c035372a0 )

Der Kodex war eine der aufsehenerregendsten Änderungen rund um Architekturcode, Dokumentation und allgemeine Infrastruktur des Kernels, aber nicht die einzige. So hatte Torvalds die Nase voll von Compiler-Warnungen zu Codestellen, die als "deprecated" (alt/überholt/missbilligt) gekennzeichnete Funktionen eingebunden haben. Er hat daher die Möglichkeit komplett entfernt, Funktionen so auszuzeichnen. Entwickler sollen stattdessen die Codestellen anpassen, die von ihnen abgekanzelte Funktionen nutzen, um Letztere dann rauszuwerfen. Genau das geht bei Linux vergleichsweise leicht, weil alle wesentlichen Treiber in den Kernel-Quellen stecken und daher an einer Stelle zu finden sind.

Beim Memory-Controller für Cgroup v2 kann man über memory.oom.group jetzt festlegen, dass der Out Of Memory (OOM) Killer alle Prozesse einer Control Group als Einheit betrachten soll. Das ist etwa relevant, wenn er bei extremer Speicherknappheit einen oder mehrere Prozesse abzuschießen erwägt, damit sich das System nicht festfährt. Sollte er sich für eine so konfigurierte Gruppe entscheiden, beendet er alle darin enthaltenen Prozesse.

Admins können so erreichen, dass der Kernel zuerst unwichtigere Prozesse schließt, wenn der Arbeitsspeicher zur Neige geht. Die dahinter stehende Änderung war ein Teil größerer und bei LWN.net erläuterter Umbauten, um das Verhalten des seit Jahren immer wieder modifizierten OOM Killers besser steuern zu können. Andere Teile dieser Umbauten mussten aber erstmal außen vor bleiben: Die an diesem Bereich arbeitenden Entwickler sind sich bei einigen der Ansätze noch uneins.

Zum Kernel-Bau mit der GNU Compiler Collection (GCC) ist jetzt mindestens die GCC-Version 4.6 erforderlich, die im Frühjahr 2011 erschien. Laut Dokumentation reichte bislang die GCC 3.2 – die Realität hatte diese Angabe aber schon eine Weile überholt, denn mit den Vorgängern vor 4.6 traten Fehler beim Kompilieren auf.

Weitere Neuerungen rund um die Infrastruktur nennen die wichtigsten Commits der Subsysteme ACPI (1, 2), Documentation, Kbuild (1, 2), IDA, Kconfig, Locking, Modules, MMC, RCU, Perf (1, 2), Power Management, (1, 2), Printk, Schedular, Siginfo, Tracing, Timer, Virtio.

Linux 4.19 unterstützt die "Cache Pseudo-Locking"-Funktion von Intels "Cache Allocation Technology" (CAT). Anwendungen können darüber einen Teil des Prozessor-Caches für Daten reservieren, damit der Prozessor sie für schnelle Zugriffe dort dauerhaft vorhält. Details hierzu finden sich in den Änderungen an der CAT-Dokumentation (1, 2, 3, 4).

Ein paar aus historischen Gründen noch in ISO_8859-1 codierte Dateien wurden zu UTF-8 konvertiert, um Darstellungsfehler zu vermeiden. (Bild: git.kernel.org – 3723c6324785 )

Der Kernel ist jetzt im Unicode-Zeitalter angekommen: Arnd Bergmann hat ein Dutzend in den Quellen enthaltene Dateien in UTF-8 konvertiert, die zuvor in ISO_8859-1 kodierten Text enthielten.

Linux unterstützt jetzt das Raspberry Pi Compute Module samt dessen IO Board.

Ebenfalls neu: Support für das Pinebook, einem mit 64-Bit-ARM-Kern ausgestatteten "Open Source Notebooks" der Macher des Entwicklerboards Pine64.

Weitere Änderungen rund um Architektur-Unterstützung und Support zentraler Systemkomponenten nennen die wichtigsten Commits der Bereiche ARM (SoC, SoC Defconfig, SoC Driver, SoC Device Trees (DT), SoC [nachzügler]), ARM32, ARM64, Clocks, Devicetree, DMA Engine, DMA Mapping, EFI, GPIO, IOMMU, IRQ, I2C, KVM (1, 2), M68k, Mailbox, MFD, Microblaze, MIPS (1, 2), Parisc (1, 2), PCI, Pinctl, PowerPC (1, 2), Power-Suppy, PWM, Regulator, RISC-V (1, 2), Rproc, RTC, SPI, S390 (1, 2), SoC Thermal, x86 (Cache, CPU, Hyper-V, Timers), Xen und Xtensa.

Schrittweise aktualisierter Text zu Linux 4.19

Support für den neuen WLAN-Standard IEEE 802.11ax und Treiber die USB-WLAN-Sticks AVM FRITZ! AC 430 und 860 sind Highlights des am 22. Oktober erwarteten Linux 4.19. Außerdem wird der neue Kernel auch 32-Bit-x86-Systeme vor der Anfang Januar bekannt gewordenen Prozessor-Sicherheitslücke Meltdown schützen. Neu dabei ist auch ein Treiber für den Grafikchip einiger mit Windows ausgelieferten ARM-Notebooks, die bei Linus Torvalds die Hoffnung auf ein alltagstaugliches und halbwegs leistungsstarkes ARM-Notebook geweckt haben. Linux 4.19 wird zudem ein Longterm-Kernel sein, der mindestens zwei Jahre gepflegt wird.

Diese und weitere Neuerungen von Linux 4.19 sind seit Ende August absehbar, als Linus Torvalds die erste Vorabversion dieser Kernel-Version freigegeben hat. Damit hat er die "Merge Window" genannte Phase des Entwicklungszyklus abgeschlossen, in der er alle wesentlichen Umbauten für eine neue Kernel-Version vornimmt. Größere, erwähnenswerte Änderungen erfolgen danach nur in Ausnahmefällen; es passiert auch nur äußerst selten, dass die Entwickler eine umfangreichere, im Merge Window integrierte Änderung vor der Fertigstellung deaktivieren oder gar entfernen.

Das Kernel-Log der c't kann daher bereits jetzt die Neuerungen der nächsten Linux-Version in einem detaillierten Text beschreiben. Er wird zwischen Erstpublikation und der Fertigstellung des neuen Kernels mehrfach erweitert, um die wesentlichen Änderungen der verschiedenen Kernel-Bereiche schrittweise in leichter handhabbaren Mengen zu beschreiben.

Der Newsticker von heise online und der Twitter-Account @kernellog erwähnt größere Erweiterungen des Textes zum neuen Linux-Kernel. Diese finden Sie immer auf der ersten Artikelseite; ältere Textpassagen finden Sie auf den folgenden Seiten. Details zur Versionshistorie des Artikels liefert das Changelog am Artikelende.

Kommentare

Kommentare lesen (361 Beiträge)

Anzeige
Anzeige