Schlagwort: Kernel

  • Überwachung von Änderungen – Der Inotify Kernel-Parameter

    Gastbeitrag von Dejan Milosavljevic, Live From Life

    Im Nachfolgenden geht es um das Finetuning des Linux Dateisystems. Genauer gesagt: Um die Überwachung von Veränderungen im Dateisystem.

    Reichlich Überwachung

    Viele Programme unter Linux sind darauf angewiesen Dateien und Ordner ständig auf Änderungen zu überwachen. Z.B. überwacht ein KDE-Desktop-System dessen Konfigurationsdateien auf Veränderungen, falls dort manuelle Eingriffe stattfinden sollten. Auch ein Musikplayer kann – insofern gewünscht und aktiviert – die Musiksammlung ständig auf Veränderungen überwachen. Diverse Suchfunktionen im System (z.B. Baloo) bedienen sich ebenfalls der kontinuierlichen Überwachung von Dateiänderungen. So, wie viele andere Programme auch, die auf einem Linux-System im Hintergrund ihren Dienst verrichten.

    Inotify

    Für diese Überwachungsfunktion muss nicht jedes Programm eine eigene Routine mitbringen, da haben die Linux-Kernelprogrammierer vorgesorgt und eine Funktion im Kernel implementiert, die sich systemweit von allen Programmen nutzen lässt: Die Inotify-Funktion (aus “I-Node” und “notify”).

    Die Anzahl der gleichzeitig zu überwachenden Objekte im Dateisystem ist über einen Kernelparameter festgelegt. Und dieser vorgegebene Wert erweist sich leider auf manchen Systemen als zu klein und beschränkt einige Programme in deren Funktionalität. Standardmäßig ist dieser Wert über folgende Pseudodatei abrufbar:

    /proc/sys/fs/inotify/max_user_watches

    Mit folgendem Befehl lässt sich der eingestellte Wert auf der Kommandozeile abrufen:

    cat /proc/sys/fs/inotify/max_user_watches

    Auf meinem System (Manjaro Linux) war der voreingestellte Wert 16384 – anscheinend viel zu niedrig. Und wie groß sollte der Wert sein? Das hängt davon ab.

    Watch limit erreicht

    Ein Beispiel:
    Ich wurde darauf aufmerksam, dass auf meinem System etwas nicht stimmt, als ich feststellte, dass ich über die Dateisuche keine neueren Dateien mehr fand. Normalerweise verwende ich das im KDE-Desktopsystem integrierte Baloo zur Dateiindizierung und zur Suche. Eine Abfrage des Status der Dateiindizierung mit dem Befehl balooctl status ergab auf der Kommandozeile folgende Werte:

    Die Baloo-Dateiindizierung läuft nicht
    Gesamtzahl der indizierten Dateien: 323.533
    Dateien, die noch indiziert werden: 2
    Dateien, deren Indizierung fehlgeschlagen ist: 100
    Der aktuelle Index hat eine Größe von 2,80 GiB

    Als ich dann versuchte die Dateiindizierung auf der Kommandozeile manuell zu starten (balooctl enable), bekam ich folgende Fehlermeldung um die Ohren gehauen:

    KDE Baloo File Indexer has reached the inotify folder watch limit. File changes will be ignored

    Einstellung in sysctl

    Aha! Der Dateiindizierung genügte der voreingestellte Wert der max. zu überwachenden Filesystem-Objekte nicht und hat deswegen den Dienst eingestellt. Es galt also den Wert zu erhöhen.
    Die Erhöhung der max. Anzahl zu überwachenden Objekte im Dateisystem kann auf der Kommandozeile über einen Befehl erfolgen:

    sudo sysctl -w fs.inotify.max_user_watches=524288

    Bei diesem Beispiel hätten wir den Wert auf ca. eine halbe Million zu überwachender Dateien festgelegt. Hier kann auch ein höherer Wert gewählt werden. Aber eine halbe Million Dateien als Obergrenze haben sich als ein praktikabler Wert für den alltäglichen Gebrauch bewährt.

    Für die Ewigkeit

    Doch Vorsicht: Mit diesem Befehl haben wir die Konfiguration nur temporär geändert. Nach Abmeldung vom System bzw. nach einem Systemstart sind die ursprünglichen Einstellungen wieder hergestellt. Das kann ganz praktisch sein, um sich an einen vernünftigen Wert heranzutasten und so z.B. auszuprobieren, ob die Änderungen einen sinnvollen Effekt gebracht haben.

    Um den Kernel-Parameter dauerhaft zu setzen, müssen wir diesen in eine Konfigurationsdatei eintragen: In der Datei /etc/sysctl.conf (Anm.: Wenn es diese Datei noch nicht gibt, muss sie neu angelegt werden)

    Hierfür öffnen wir die Datei mit einem Editor und fügen folgende Zeile ein:

    fs.inotify.max_user_watches=524288

    Nach dem Speichern möchten die Änderungen noch aktiviert werden. Hierfür rufen wir folgenden Befehl auf:

    sudo sysctl -p

    Somit sollte die maximale Anzahl der überwachten Objekte im Dateisystem auf ca. eine halbe Million erhöht worden sein. Die Misstrauischen unter uns starten das System neu und überprüfen, ob die Änderungen einen Reboot überstanden haben.

    Überwachung kostet RAM

    Einige Worte zum Ressourcenverbrauch, die mit den Inotify-Kernelparameter einhergehen. So ganz spurlos geht die Überwachung des Dateisystems nicht am Hauptspeicher vorbei.
    Als Richtwert gilt: Jedes im Dateisystem überwachte Objekt (Dateien, Ordner) beansprucht auf einem 32-Bit-System den Hauptspeicher mit 540 Bytes und auf einem 64-Bit-System mit dem doppelten Wert, also mit ca. 1 KByte.

    Mit dem hier verwendeten Beispiel von ca. einer halben Million überwachten Dateien kämen wir also als Oberwert auf eine maximale Belastung des Hauptspeichers von ca. 256 MB RAM (32 Bit) bzw. auf ca. 512 MB RAM (64 Bit). Da der Kernelspeicher nicht in die Swap-Datei ausgelagert wird, geht der Speicherbedarf übrigens immer auf Kosten des physikalischen Speichers. Auf halbwegs modernen Systemen sollte dies aber ein immer noch verträglicher Wert sein.

    Seit Linux 2.6.13

    Die Inotify-Funktion wurde von John McCutchan und Robert Love entwickelt und im Jahr 2005 von Linus Torvalds für die Aufnahme in den Linux Kernel 2.6.13 freigegeben. Wer sich in die Thematik vertiefen möchte, dem empfehle ich einen Artikel von Robert Love, in dem er auf die Interna detailliert eingeht.

  • Linux 5.11 beseitigt Regression bei AMDs Zen-Architektur

    Linux 5.11 beseitigt Regression bei AMDs Zen-Architektur

    Nach sieben Wochen Entwicklung hat Linus Torvalds am Wochenende Linux 5.11 freigegeben. Torvalds hat kurzfristig den Codenamen von »Kleptomanic Octopus« zu »Valentine’s Day Edition geändert« und den Eintrag im Makefile mit Unicode-Herzchen umrahmt. Was kann da schon schief gehen?

    AMD Ryzen nicht mehr verlangsamt

    Besitzer von aktuellen AMD-Prozessoren der Architekturen Zen 2 und 3 können sich freuen. Die Regression, die mit dem Beginn der Entwicklung zu Linux 5.11 für eine Drosselung der Leistung bei Ryzen Notebooks und PCs sowie bei EPYC-Servern führen konnte, ist behoben. Einige Systeme sind jetzt sogar schneller als mit 5.10. Dafür sind zwei Patches für CPUFreq verantwortlich, die erst vor wenigen Tagen eingeflossen sind.

    Linux 5.11 liefert zudem initiale Unterstützung für AMDs kommende Green-Sardine– und Van-Gogh APUs. Außerdem gibt es Unterstützung für Dimgrey Cavefish als weitere GPU der Radeon RX 6000 Serie, die noch nicht veröffentlicht wurde. Für aktuelle Radeon RX 6800/6900 »Sienna Cichlid«-Hardware gibt es Leistungsverbesserungen zu vermelden.

    Intel Integer Scaling und SGX

    Bei Intel wird Integer Scaling für deren Grafiktreiber eingeführt. Die Unterstützung des Integer-Skalierungsmodus zielt darauf ab, Bilder bei der Hochskalierung im Vergleich zu anderen Skalierungstechniken besser darzustellen. Dies macht sich besonders positiv bei Pixel-Art-Videospielen bemerkbar, die dadurch beim Hochskalieren ihre scharfen Kanten behalten.

    Intel bringt zudem seine SGX-Technik im Kernel unter. Damit sind Entwickler in der Lage, abgeschottete Enklaven des Speichers zu verwenden. Diese Bereiche innerhalb des Adressraums eines Prozesses, die speziell durch die CPU geschützt werden, sind für alle anderen direkten Zugriffe gesperrt.

    Dateisysteme

    Bei den Dateisystemen erhielt Btrfs eine Menge an Verbesserungen. Auch das Flash-Friendly File-System (F2FS) wurde aufgewertet. Die Behandlung von Dateinamen ohne Berücksichtigung der Groß-/Kleinschreibung für Linux-Dateisysteme ist seit vielen Jahren ein Dauerthema, besonders wenn es um Verschlüsselung geht. Nachdem das Problem bereits 2019 für Ext4 ein Thema war, erhielt F2FS nun Patches für 5.11.

    XFS erhält mit 5.11 unter anderem mit einem Patch das Flag needs repair, das dem System signalisiert, dass eine Reparatur nötig ist und das System erst wieder zu mounten ist, wenn diese durchgeführt wurde. OverlayFS erlaubt künftig unprivilegiertes Einhängen in einem Benutzernamensraum. Ceph unterstützt jetzt das MSGR2-On-Wire-Protokoll, das eine vollständige Verschlüsselung während der Übertragung mit AES-GCM ermöglicht.

    Netzwerk

    In der Abteilung Netzwerk unterstützt unter anderem Intels IWLWIFI-Treiber jetzt das 6-GHz-Band (UHB) für WiFi 6E. Intels WLAN-Modul AX210 macht bereits Gebrauch von der neuen Technik. Alle weiteren Neuerungen von Linux 5.11 sind in Kürze auf der Webseite von Kernel Newbies verständlich aufbereitet nachzulesen.

  • Linux 5.10.1 nachgeschoben

    Linux 5.10.1
    Bild: Krd Lizenz: CC BY-SA 3.0

    Nur einen Tag hatte der am Sonntag freigegebene Kernel 5.10 LTS Bestand. Wegen zweier Fehlers hat Greg Kroah-Hartman bereits gestern Linux 5.10.1 freigegeben und alle frühen Anwender zum Update aufgefordert. Üblicherweise dauert es ein paar Tage oder gar Wochen, bis der erste Point-Release erscheint.

    Fehler im Bereich Storage

    Beide Fehler traten im Bereich Storage auf und wurden von Downstream-Entwicklern bei den Distributionen schnell entdeckt. Für Linux 5.10.1 wurde ein Fix für ein Problem im Code des Device Mapper zurückgenommen, bei dem es um die Obergrenze für RAID DISCARD bei RAID 1 und RAID 10 ging. Des Weiteren wurde ein Fehler im Code der RAID-Implementierung MD (multiple devices) behoben. Beide Fehler wurden recht lapidar mit »sie verursachten Probleme« beschrieben.

    Ein wenig Statistik

    Rekordverdächtig war aber nicht nur dieses frühe Point-Release, sondern auch die Zahl der Commits in der Statistik zu Linux 5.10. Der neue Kernel ist mit 16.174 Einreichungen größer als der Vorgänger, reicht aber nicht ganz an die 16.308 Commits des Rekord-Kernels 5.8 heran. Auch die Zahl der beteiligten Entwickler liegt mit 1.971 nur knapp unter dessen Marge. Insgesamt trugen Entwickler von 228 Unternehmen Code zu Linux 5.10 bei, an der Spitze der meisten Einreichungen liegen diesmal Huawei und Intel, gefolgt von Red Hat, Google und AMD. Huawei steht üblicherweise nicht so weit oben, doch zu 5.10 trugen fast 100 Entwickler des Konzerns zumindest einen Patch bei.

  • Linux 5.10 mit 5 Jahren Unterstützung freigegeben

    Linux 5.10

    Linus Torvalds hat am Wochenende mit Linux 5.10 den letzten Kernel für das Jahr 2020 freigegeben. Dieser Kernel erhält durch Long Term Support (LTS) mindestens fünf Jahre lang Unterstützung.

    Prozessoren und Grafikkarten

    Die Nutzer von aktuellen Intel- und AMD-CPUs finden die üblichen Verbesserungen bei der Performance. Der für später im Jahr 2021 erwartete 10-Nanometer-Prozessor Alder Lake erhält ebenso initiale Unterstützung wie der im ersten Quartal des neuen Jahres erhältliche Rocket Lake. Selbst die erst für 2023 erwartete im 7 nm Superfin-Verfahren hergestellte Meteor Lake-Plattform findet erste Erwähnung.

    AMDs Plattform Zen 3 erhielt unter anderem Verbesserungen bei der Temperaturüberwachung. Zudem erweitert AMD mit SEV-ES die Verschlüsselung des Speichers bei virtualisierten Gästen. RISC-V erhielt anfängliche Unterstützung für das Booten von EFI. Die Unterstützung des PowerPC 601 wurde als ursprünglicher 32-Bit-PowerPC-Prozessor eingestellt. IBM arbeitet derzeit an der POWER10-Unterstützung für den Kernel. Neu ist auch die Unterstützung für Nvidias Kombiprozessor Orin. Das Librem 5 erhält Device-Tree-Support für die letzten vier Hardware-Revisionen.

    Bei den Grafikkarten erhält Intels DG1 funktionierende Audio per HDMI, AMDGPU bringt Display Core (DC) Unterstützung für GCN 1.0 (Southern Islands) GPUs. Der Raspberry Pi 4 erhält Unterstützung für den VC4 DRM-Treiber.

    Dateisysteme

    Das XFS-Dateisystem unterstützt jetzt Zeitstempel bis zum Jahr 2486. Damit wird die vorherige Beschränkung auf das Jahr 2038 und eines der wenigen verbleibenden Y2038-Probleme innerhalb des Kernels überwunden. Btrfs erfährt unter anderem Leistungsverbesserungen im Bereich von fsync. F2FS erhält Verbesserungen beim mit der NVMe-2.0-Spezifikation eingeführten NVMe ZNS (Zoned Namespace). Von Google stammt die Idee zu Fast Commits für Ext4, die auf einem Papier von der USENIX-Konferenz 2017 basiert.

    Hardware

    Weitere Verbesserungen im Bereich Hardware betreffen die jetzt unterstützte Soundkarte Creative SoundBlaster AE-7. Am Support von USB4 wird seit Kernel 5.6 gearbeitet. Auch in Linux 5.10 sind weitere Patches eingeflossen. Synaptics Touchpads erfuhren im Rahmen von Lenovos Linux-Unterstützung einige Verbesserungen. Game-Controller der Nintendo-Switch-Familie werden nun ebenfalls unterstützt.

    Mit der Veröffentlichung von Linux 5.10 ist ab heute das zweiwöchige Fenster für Einreichungen zu Linux 5.11 geöffnet. Torvalds bat die Entwickler eindringlich, ihre Patches wegen der Feiertage möglichst in der ersten Woche einzureichen. Patches, die noch unfertig sind, sollten besser für Kernel 5.12 eingeplant werden. Einen Überblick über die Änderungen zu Linux 5.10 bietet die Webseite Kernel Newbies.

  • Im Interview: Linus Torvalds über seine Nachfolge, den CoC und Donald Trump

    Im Interview: Linus Torvalds über seine Nachfolge, den CoC und Donald Trump

    Die IT- und Technik-Newsplattform iTWire veröffentlichte kürzlich ein Interview mit Linus Torvalds. bei dem es unter anderem um seine Nachfolge, die Auswirkungen von Corona, den Code of Conduct und um die bevorstehende US-Wahl geht.

    Corona ohne Einfluss auf den Kernel

    Auf die Frage nach Auswirkungen der Corona-Pandemie auf seine Arbeit verneinte Torvalds dies, da er seit 20 Jahren im Homeoffice arbeite und es von daher für ihn keine Umstellung bei der direkten Arbeit am Kernel gebe. Die Konferenzen, die er üblicherweise übers Jahr besuche, seien alle online abgehalten worden. Da er aber kein großer Fan dieses Formats sei, habe er sich wenig beteiligt. Darüber hinaus ist er mit drei Kindern natürlich genauso betroffen wie viele Menschen weltweit.

    Natürliche Nachfolge

    Interviewer Sam Varghese wollte angesichts der Tatsache, dass Torvalds das Alter von 50 überschritten habe wissen, ob ihn die Benennung eines Nachfolgers beschäftige oder ob er den Dingen seinen Lauf lasse. Torvalds bekennt sich zu Letzterem, da es derzeit ohnehin ziemlich klar sei, wer das sein werde. Ein Nachfolger sollte niemand sein, der gewählt oder ernannt wird, die Nachfolge sollte sich natürlich aus der Arbeit ergeben.

    Einige jahrelange Wegbegleiter haben sich sowohl sein Vertrauen als auch das der Öffentlichkeit erarbeitet. Sie erledigen ihre Aufgaben zuverlässig und verantwortungsvoll und sind grundsätzlich ständig verfügbar. Dass man nebenher auch gut auf seinem Gebiet sein sollte, sei dabei selbstverständlich, ergebe sich aber aus der langjährigen Beschäftigung mit der Materie.

    Annäherung an Windows ein gutes Zeichen

    Ob er denn Befriedigung aus der Tatsache ziehe, dass Microsoft beim Umsatz stark auf Linux angewiesen sei, antwortete Torvalds, der Umsatz von Microsoft sei ihm egal, und ergänzte scherzhaft, der Fakt, dass Linux dank WSL nun innerhalb von Windows laufe, sei natürlich Teil seines Plans zur Erringung der Weltherrschaft. Ernsthaft fährt er fort, Software solle in erster Linie nützlich sein, Dinge wie Design sollten immer zweitrangig sein.

    Und aus diesem Grund finde er Projekte wie WSL und Linux on Azure als sehr gute Zeichen. Nicht nur, weil er denke, dass es viel gesünder ist als die Beziehung, die vor über 10 Jahren zu Microsoft bestand, sondern weil er glaube, dass Linux in vielen verschiedenen Bereichen zu einem besseren Kernel wird.

    An die Kette gelegt

    Dann schwenkt das Interview zur Frage des Code of Conduct. Hat der CoC nach zwei Jahren Einfluss auf Torvalds außerhalb der Kommunikation mit den Entwicklern auf LKML? Kurz nach dem selbst auferlegten Maulkorb 2018 sagte Torvalds, niemand sei wirklich glücklich damit, man könne aber damit leben. Druck von Außen, auch über einen Artikel in der Zeitschrift New Yorker hatte Torvalds damals bewogen, in sich zu gehen und seine Art der Kommunikation zu überdenken.

    Abgesehen davon, dass sein damaliger Rückzug eine schwierige Zeit gewesen sei, ergebe sich in der Rückschau ein positives Erlebnis. Seine Wortwahl sei auch heute nicht immer die Feinste, aber er habe mehr Kontrolle als früher. Ansonsten habe der CoC keinen erkennbaren Einfluss auf sein Leben.

    Kernel-Tools in der Kritik

    Im Anschluss antwortete Torvalds auf die Frage, ob der Kernel mehr Entwickler haben könnte, wenn die Kommunikation nicht ausschließlich per E-Mail stattfinden würde, dass dieser Vorschlag, der vor einiger Zeit die Runde machte, ziemlich aufgebauscht worden sei. Sarah Novotny aus dem Vorstand der Linux Foundation hatte unter anderem die Kommunikation per Mailing-Liste als Hemmschuh für junge Entwickler beschrieben.

    Die Kritik bezog sich unter anderem auf die Tatsache, dass HTML-Mails auf LKML verboten seien. Torvalds begründete das damit, dass viele Mailing-Listen HTML untersagen, um dem allgegenwärtigen Spam zu begegnen. Ansonsten würden Kernel-Entwickler nicht ausschließlich über LKML, sondern auch im IRC, auf Discord oder Telegram diskutieren. Das alles verbindende Element sei allerdings die Liste.

    Glasklare Ansage

    Die letzte Frage bezieht sich auf die bevorstehende Präsidentschaftswahl in den USA. Varghese wollte wissen, wie Torvalds die Lage der Nation in den USA sehe. Torvalds antwortet darauf sehr freimütig, er finde die Entwicklung der USA in den letzten vier Jahren als äußerst deprimierend. Er wisse persönlich ernsthaft nicht, was er tun werde, sollte Trump eine zweite Amtszeit gewinnen.

    In seiner Einschätzung der Person von Donald Trump wird er sehr deutlich, wenn er sagt, Trump sei ein »narzisstisches, rassistisches, der Vetternwirtschaft verhaftetes Desaster, und völlig unfähig, nicht ständig zu lügen. Er ist ein Schandfleck auf dem Angesicht der Menschheit und hat sich mit anderen Menschen umgeben, die genauso schlecht sind.« Abschließend hat einen Rat für seine Landsleute, die noch nicht gewählt haben: »Gehen Sie hinaus und stimmen Sie gegen dieses korrupte und ekelhafte Stück menschlichen Abfalls und gegen all die Menschen, die ihn umarmt und ermächtigt haben.«

    Das ist für Torvalds eine der seltenen Anlässe, bei denen er sich öffentlich zu politischen Themen äußert, die nichts mit Technik zu tun haben. Ich frage mich, ob diese Äußerungen wohl gut bei seinem Arbeitgeber, der Linux Foundation und deren Mitgliedern ankommen.

  • Linux 5.10-rc1 freigegeben

    Linux 5.10-rc1
    Bild: Krd Lizenz: CC BY-SA 3.0

    Linus Torvalds hat am Wochenende den ersten Release-Kandidaten zu Linux 5.10 freigegeben. Damit ist das zweiwöchige Fenster für Einreichungen (merge window) geschlossen und die Stabilisierung des kommenden Kernels beginnt. Ab jetzt sollten nur noch Fehlerbereinigungen der vorherigen Patches eingereicht werden. Es gibt Ausnahmen von dieser Regel, aber dabei hebt Torvalds dann mindestens eine Augenbraue.

    Ein wenig Statistik

    Aber zurück zu 5.10-rc1. Torvalds schreibt in seiner Ankündigung, 5.10 werde größer als erwartet, bleibe aber mit rund 14.000 Commits von annähernd 1.700 Entwicklern unter 5.8, der bisher größten Veröffentlichung zurück. Michael Larabel von Phoronix hat weitere Statistikdaten aus Git extrahiert. Demnach wurden etwa 704k Codezeilen eingefügt und 419k entfernt. Ferner setzt sich Linux 5.10-rc1 aus 70,6k Textdateien zusammen, was insgesamt 20,94 Mio. Zeilen Code entspricht. Hinzu kommen etwa 3,77 Mio. Zeilen Kommentare.

    AMD Zen3, Big Navi und Librem 5

    Linux 5.10 bringt wie üblich viele Treiber-Updates, aber auch viele Verbesserungen bei Dateisystemen. AMD Zen 3-Prozessoren werden besser unterstützt und die Treiberunterstützung für AMDs Grafikchips Big Navi der Radeon RX 6000-Serie verbessert. Zudem gibt es Mainline-Unterstützung für die bisherigen Librem 5 Smartphone-Revisionen von Purism. Nach langer Wartezeit kann mit 5.10 auch die Soundkarte Creative SoundBlaster AE-7 in Linux verwendet werden. Nvidias Kombi-Prozessor Orin für autonome Fahrzeuge wird initial unterstützt, RISC-V kann erstmals mit UEFI booten.

    Mit der Veröffentlichung der stabilen Version von Linux 5.10 ist Mitte Dezember zu rechnen. Wer sich näher für den Kernel-Entwicklungsprozess interessiert, dem sei die verständlich geschriebene Dokumentation How the development process works empfohlen.

  • Linux 5.9 freigegeben

    Linux 5.9
    Bild: Krd Lizenz: CC BY-SA 3.0

    Wie erwartet, gab Linus Torvalds mit Linux 5.9 am Wochenende den aktuellen Kernel frei, der von der Kernel-Community in den letzten zehn Wochen seit der Veröffentlichung von Linux 5.8 entwickelt wurde. Torvalds hatte nach Linux 5.9-rc7 eine weitere Woche an den Entwicklungszyklus angehängt, da zu diesem späten Zeitpunkt immer noch Einreichungen hereinkamen. Der Großteil davon gehört in die Sparte Networking.

    Treiber

    Neue Treiber und Updates zu bestehenden Treibern machen wie so oft einen Großteil der Neuerungen bei Linux 5.9 aus. Bei den Grafiktreibern ist AMD mit der Unterstützung für die kommende RDNA-2-Architektur und Big Navi dabei, die die neuen Radeon RX 6000 Grafikkarten mit den GPUs Sienna Cichlid und Navy Flounder ab Ende des Monats beflügeln werden. Intel sorgt für die Bereitstellung der Grafikunterstützung der Rocket Lake Plattform. Bei den CPUs integriert 5.9 Unterstützung für Intels Generationen Lakefield, Alder Lake und Rocket Lake.

    Architekturen

    Für die ARM-Architektur wird neben zwei neuen Chips des taiwanesischen Herstellers MStar auch die Board-Revison 1.2 des Allwinner Sunxi für das PinePhone unterstützt. Die x86-Architektur erfährt mit 5.9 eine Beschleunigung durch Unterstützung für Kernel- und Initrd-Images, die mit ZStandard (Zstd) komprimiert sind. Aus dem neuen Kernel entfernt wurde die Unicore32-Architektur, die bereits seit Längerem nicht mehr betreut wird und durch das Fehlen eines passenden Compilers auch nicht mehr gebaut werden kann.

    Von Intel kommt eine weitere Verbesserung, die rund fünf Jahre vom ersten Commit bis zur jetzigen Integration gebraucht hat. Die Rede ist von den aktuellen Patches zur Unterstützung der FSGSBASE-Instruktionen, die für bestimmte Workloads eine Beschleunigung von drei Prozent bringen kann. LWN hat kürzlich detailliert die Hintergründe der FSGSBASE-Saga aufgezeigt.

    Dateisysteme

    Bei den Verbesserungen für Dateisysteme erhält Btrfs keine größeren neuen Funktionen, sondern viele kleine Verbesserungen. Dazu zählt unter anderem die neue Mount-Option rescue= zum Gruppieren aller wiederherstellungsbezogenen Mountoptionen. Das Inode-Flushing bei XFS funktioniert nun komplett asynchron. Bei Ext4 werden Bitmaps künftig nicht mehr einzeln, sondern in Gruppen geladen. Ext4 verwendet Bitmaps, um zugewiesene Blöcke und Inodes zu verfolgen. NFS wird über das NFSv4.2-Protokoll server– und clientseitig mit Extended Attributes (xattrs) für User ausgestattet. Das Flash-Friendly File-System (F2FS) erhält mit F2FS_IOC_SEC_TRIM_FILE einen neuen Systemaufruf (ioctl), der bei SSDs für ein sichereres Löschen per TRIM/DISCARD oder das Überschreiben mit Null sorgt.

    GPL besser geschützt

    Nicht zuletzt führen Patches von Christoph Hellwig dazu, dass der GPL-Schutz verbessert wird. Hier geht es explizit um einen lange bestehenden Fehler beim Auflösen der GPL-Module. Module konnten vorgeben, GPL-lizensiert zu sein, aber gleichzeitig von proprietären Modulen abhängen. Erstmals führte das 2012 zu anhaltenden Diskussionen, als ein Patch des Nvidia-Entwicklers Robert Morell vorschlug, die als EXPORT_SYMBOL_GPL() exportierten Symbole der Shared-DMA-Buff-Architektur in die regulären EXPORT_SYMBOL()-Exportrichtlinien zu ändern. Kürzlich sorgte erneut ein Patch für Nvidia für Aufregung in gleicher Sache und vermutlich für die jetzige Beseitigung dieses Fehlers.

    Mit der Veröffentlichung von Linux 5.9 öffnet sich das zweiwöchige Fenster für Einreichungen zu Linux 5.10 , bevor Torvalds 5.10-rc1 als ersten Kandidaten freigibt. Alle Änderungen zu Linux 5.9 sind wie immer kompakt auf der Webseite Kernel-Newbies nachzulesen.

  • RISC-V mit UEFI-Unterstützung in Linux 5.10

    Logo von SweRV | Bild: Western Digital

    Am kommenden Wochenende wird Linus Torvalds vermutlich Linux 5.9 freigeben. Für das sich daraufhin öffnende Fenster für Einreichungen sind jetzt Patches für die RISC-V Architektur eingereicht worden, die die offene, nicht patentierte Befehlssatzarchitektur initial mit UEFI-Support ausstatten soll.

    Vorbereitungen seit Jahresbeginn

    Bereits seit Jahresbeginn reichen Entwickler von Western Digital zu diesem Zweck Patches ein. Die RISC-V-UEFI-Unterstützung kann in Verbindung mit dem U-Boot-Bootloader arbeiten und hängt von anderen aktuellen Linux-Kernel-Arbeiten rund um das Supervisor Binary Interface (SBI) von RISC-V ab. Die Supervisor-Binärschnittstelle SBI bei RISC-V ist die Schnittstelle zwischen der plattformspezifischen Firmware und dem laufenden Betriebssystem oder Hypervisor.

    Mögliche initiale Unterstützung in Linux 5.10

    Nach einigen vorbereitenden Patches in Linux 5.7 stellte Kernel-Entwickler Christoph Hellwig vor wenigen Tagen weitere Patches für die UEFI-Unterstützung im RISC-V-Next-Zweig ein, die darauf schließen lassen, dass die initiale Unterstützung in Linux 5.10 einfließen wird. Dass die Patches von Western Digital (WD) kommen ist nicht weiter verwunderlich, wenn man weiß, dass WD bereits Ende 2018 einen ersten eigenen RISC-V-Prozessorkern unter der Bezeichnung SweRV vorgestellt hat. Das Unternehmen setzt seine RISC-V- Kerne anstelle des früher verwendeten ARM-Kerns in seinen SSD-Controllern ein.

    Neue Bedeutung durch ARM-Übernahme

    Im Juni stellte die Chips Alliance, ein Konsortium zur Förderung offener Hardware, mit SweRV Core EH2 und SweRV Core EL2 zwei verbesserte Kerne von WD vor. Gerade angesichts der in der Chip-Industrie wie bei Entwicklern viel kritisierten Übernahme der britischen Prozessorschmiede ARM durch Nvidia gewinnt die freie Verfügbarkeit des RISC-V-Befehlssatzes neue Bedeutung und die Entwicklung wird hierdurch vermutlich weiteren Aufschwung erhalten.

  • HTTPS statt HTTP im Kernel

    HTTPS statt HTTP im Kernel
    Bild: Fabio Lanari | Lizenz: CC BY-SA 4.0

    Vor einer Woche gab Linux Torvalds Kernel 5.8 frei. Jetzt ist die erste Woche des Merge-Windows für Einreichungen zum nächsten Kernel 5.9 vorbei.

    Unter den rund 4.000 bisherigen Einreichungen sind auch Patches, die im Hintergrund Änderungen und Bereinigungen an der Dokumentation und bei den Kommentaren des Kernel-Baums vornehmen. Dieses Mal geht es dabei um den Austausch von internen HTTP-Links gegen solche, die mit HTTPS gesichert sind.

    HTTP mit 320 Patches ersetzen

    Das betrifft sowohl Kommentare zum Code selbst als auch die Dokumentation an vielen Stellen des Kernels. Wer nun aber glaubt, ein einfaches find docs -type f -exec sed {} -i 's/http/https/g' ; würde den Job beispielsweise für die Dokumentation erledigen, der irrt. Kernel-Entwickler Alexander A. Klimov hat in den letzten Wochen über 320 Patches mit einem Algorithmus zum Suchen, Testen und Ersetzen für den Austausch an den betroffenen Stellen in linux-next platziert.

    Suchalgorithmus

    Dabei werden per Script die Vorkommen von HTTP herausgefiltert und festgestellt ob es einen entsprechenden HTTPS-Link gibt. Dann wird getestet, ob beide Varianten den Statuscode 200 OK sowie den gleichen Inhalt ausgeben. Im positiven Fall wird HTTP durch HTTPS ersetzt.

    Gegen Man-in-the-Middle

    Der Kernel folgt damit einem ungebremsten Trend bei Webseiten, die in den letzten Jahren, besonders seit der Verfügbarkeit von kostenlosen Zertifikaten per Let’s Encrypt, Inhalte durch HTTPS geschützt ausliefern. Damit werden unter anderem Man-in-the-Middle-Attacken wesentlich erschwert.

    Merge-Window noch eine Woche

    Der Abschluss der Umstellung wird mit der Veröffentlichung von Kernel 5.9 in rund zwei Monaten erwartet. Das Zeitfenster für Einreichungen wird noch bis zum 16. August geöffnet bleiben. Bereits jetzt sind viele Änderungen unter anderem bei Dateisystemen wie Btrfs eingereicht worden. Zudem soll das Power-Management des Kernels, das bisher auf CPUs beschränkt war, nun auf Peripheriegeräte ausgeweitet werden.

  • Linux 5.8 freigegeben

    Linux 5.8
    Bild: Krd Lizenz: CC BY-SA 3.0

    Linus Torvalds hat am Wochenende zwei Monate nach Linux 5.7 die neue Kernel-Version 5.8 freigegeben. Er sagt in seiner Ankündigung, er habe es zwar nicht erwartet, aber Linux 5.8 sei »eine unserer größten Veröffentlichungen aller Zeiten«. Dabei sticht kein Entwicklungszweig besonders heraus, wie das ansonsten bei rekordverdächtigen Kerneln oft der Fall ist.

    Strengere Commit-Regeln

    Für Linux 5.8 wurden 14.000 Dateien editiert, es gab über 16.300 Commits. die dem Kernel rund 800.000 Zeilen hinzufügten. Trotz der Größe bezeichnet Torvalds das Release als nicht sonderlich problematisch. Allerdings habe ihn die Menge der Commits veranlasst, über eine Verschärfung der Regel nachzudenken, nach der das Einreichen neuer Funktionen in der ersten Woche des Merge Windows stattfinden sollten.

    Prominente Treiber-Updates

    Wie immer bringt auch Linux 5.8 viele Treiber-Updates. Bei AMD wurde Unterstützung für die Trusted Memory Zone (TMZ) eingeführt, um Teile des VRAM zu verschlüsseln. Damit soll verhindert werden, dass Prozesse auf der CPU TMZ-Bereiche der GPU lesen oder schreiben können. TMZ unterstützt alle AMD Radeon GPUs auf der Basis der CGN-Architektur.

    Neu ist auch der AMD Energy Driver, der in der Lage ist, für Zen/Zen2 CPUs zur Temperaturüberwachung Energiewerte für einzelne Kerne und Sockets auszuweisen. Bisher war das nur unter Windows mit Apps wie Ryzen Master möglich.

    Weitere Treiber

    Bei Intel wird Unterstützung für die kommende Rocket Lake Gen12-CPU initial eingeführt und für Tiger Lake weiter verbessert. Die gesammelten Patches sind auf FreeDesktop einsehbar. Die Qualcomm Adreno-Reihe mit den GPUs 405, 640 und 650, die in Snapdragon-SoCs verbaut wird, werden von Linux 5.8 erstmals unterstützt. Diese GPUs sind in vielen modernen Smartphones wie Samsung Galaxy S10, OnePlus 7, Google Pixel 4/XL und vielen anderen verbaut.

    Booten von POWER10

    Bei den CPUs wurden außer dem AMD Energy Treiber auch Patches für die Temperaturüberwachung für AMD Ryzen 4000 Renoir eingereicht. Die 2021 erwartete, in einem 7nm-Prozess hergestellte IBMs POWER10-Plattform erfährt erstmalig Unterstützung, sodass 5.8 in der Lage ist, auf POWER10-Hardware zu booten.

    Dateisystem verbessert

    Bei den Dateisystemen wurde Microsofts neuer exFAT-Treiber ebenso verbessert wie EXT4 und Btrfs. Das Flash-Friendly File-System (F2FS) erhielt Unterstützung für die Kompressionsmethode LZO Run-Length Encoding. Alle weiteren Änderungen sind auf der Webseite Kernel-Newbies nachzulesen.