{"id":164053,"date":"2025-06-04T08:14:09","date_gmt":"2025-06-04T08:14:09","guid":{"rendered":"https:\/\/www.europesays.com\/de\/164053\/"},"modified":"2025-06-04T08:14:09","modified_gmt":"2025-06-04T08:14:09","slug":"linux-kernel-6-15-naeherer-blick-auf-neuerungen","status":"publish","type":"post","link":"https:\/\/www.europesays.com\/de\/164053\/","title":{"rendered":"Linux-Kernel 6.15: N\u00e4herer Blick auf Neuerungen"},"content":{"rendered":"<p>Linus Torvalds brachte vergangene Woche <a href=\"https:\/\/www.heise.de\/news\/Torvalds-gibt-Linux-6-15-frei-10397961.html\" rel=\"nofollow noopener\" target=\"_blank\">den Linux-Kernel 6.15 auf den Weg<\/a>. Der neue Kernel widmet sich neben den \u00fcblichen neuen und angepassten Treibern sowie vielen kleinen Korrekturen haupts\u00e4chlich dem Optimieren und Entr\u00fcmpeln. Einige neue Features stechen hervor und lohnen einen n\u00e4heren Blick.<\/p>\n<p>Bessere Performance<\/p>\n<p>Der &#8222;Translation Lookaside Buffer&#8220; (TLB) ist ein kleiner, schneller Cache in der CPU, der hilft, virtuelle Adressen schnell in physische Adressen zu \u00fcbersetzen. Er speichert die zuletzt verwendeten Adress\u00fcbersetzungen, um Zugriffe auf die Page Table \u2013 eine vom Kernel verwaltete Tabelle im Speicher \u2013 zu vermeiden. Wird eine virtuelle Adresse verwendet, pr\u00fcft die CPU zuerst den TLB. Ist dort kein Eintrag vorhanden, greift die Hardware auf die Page Table zu, um den physischen Speicherort zu finden.<\/p>\n<p>Wenn sich die Page Table \u00e4ndert, k\u00f6nnen gespeicherte TLB-Eintr\u00e4ge veraltet sein. Der Kernel muss sie daher explizit aus dem TLB l\u00f6schen, damit sie bei der n\u00e4chsten Verwendung neu geladen werden. Dazu verwendet er CPU-Befehle wie INVLPD (x86 allgemein) oder INVLPGA (bei AMD), sowie koordinierte TLB Shootdowns, bei denen andere Prozessoren \u00fcber Interrupts zum L\u00f6schen ihrer TLB-Eintr\u00e4ge aufgefordert werden. Das ist notwendig, da in einem Mehrprozessorsystem jede CPU ihren eigenen TLB besitzt, der jeweils ung\u00fcltige Eintr\u00e4ge vorhalten kann.<\/p>\n<p>Diese Operationen sind bei vielen CPUs oder beim L\u00f6schen vieler TLB-Eintr\u00e4ge besonders aufwendig. Bei einem TLB-Shootdown setzt der Kernel sogenannte &#8222;Inter-Processor Interrupts&#8220; (IPI) ein, um andere CPUs zum L\u00f6schen ihrer TLB-Eintr\u00e4ge aufzufordern. Besonders zeitintensiv ist das Warten darauf, dass alle betroffenen Prozessoren die Interrupts empfangen und bearbeiten. Au\u00dferdem l\u00e4sst sich in einem IPI immer nur ein TLB-Eintrag zum L\u00f6schen mit auf den Weg geben. <\/p>\n<p>Mit Linux 6.15 bringt ein von Meta beigesteuerter Patch f\u00fcr AMD-Prozessoren eine deutlich effizientere L\u00f6sung. Linux setzt nun den AMD-spezifischen CPU-Befehl INVLPGB ein. Der Befehl ist seit der Zen 3-Architektur verf\u00fcgbar, die AMD im November 2020 einf\u00fchrte. Der Clou: INVLPGB muss weder auf die Verarbeitung von Interrupts warten, noch ist er auf das L\u00f6schen einzelner Eintr\u00e4ge beschr\u00e4nkt. Mehrere TLB-Eintr\u00e4ge lassen sich in einem einzigen Broadcast entfernen. Dieses Zusammenfassen mehrerer TLB-Eintr\u00e4ge beim L\u00f6schen und die entfallende Wartezeit sollen f\u00fcr einen Leistungsschub sorgen.<\/p>\n<p>Einheitliches Firmware-Management<\/p>\n<p>Linux 6.15 f\u00fchrt das neue Subsystem fwctl (Firmware Control) ein. Es stellt eine standardisierte und sichere Schnittstelle f\u00fcr die Verwaltung von Firmware direkt aus dem Userspace bereit. Bislang mangelt es an einheitlichen und ger\u00e4teunabh\u00e4ngigen Methoden zum Konfigurieren und Provisionieren sowie Fehlerdiagnose von Firmware.<\/p>\n<p>Moderne Hardware enth\u00e4lt oft umfangreiche Komponenten mit jeweils eigener Firmware. Da eine einheitliche Methode bislang fehlte, braute jeder ein eigenes S\u00fcppchen. Schlie\u00dflich f\u00fchrte das zu einem &#8222;Wildwuchs&#8220; an fragmentierten und unsicheren L\u00f6sungen. fwctl tritt an, das zu \u00e4ndern.<\/p>\n<p>Sicherheit und Kompatibilt\u00e4t<\/p>\n<p>fwctl ist ein Kernel-Subsystem, das es erm\u00f6glicht, \u00fcber Remote Procedure Calls (RPCs) mit der Firmware eines Ger\u00e4ts zu kommunizieren \u2013 etwa, um neue Firmware zu \u00fcbertragen. Diese Kommunikation erfolgt \u00fcber eine standardisierte Schnittstelle, die auf IOCTLs basiert und \u00fcber \/dev\/fwctlX-Ger\u00e4tedateien zug\u00e4nglich ist. Damit k\u00f6nnen verschiedene Aufgaben durchgef\u00fchrt werden, zum Beispiel das Auslesen von Debug-Informationen, die Konfiguration von Ger\u00e4ten oder das Provisionieren von Hardware.<\/p>\n<p>fwctl implementiert dabei Sicherheitsmechanismen, die den Zugriff auf sensible Funktionen gezielt kontrollieren. Es definiert verschiedene Zugriffsebenen (Scopes) f\u00fcr RPCs, um den Grad des Zugriffs auf die Firmware zu steuern. Beispielsweise erfordert vollst\u00e4ndiger Debug-Zugriff spezielle Berechtigungen und markiert den Kernel als &#8222;tainted&#8220; (w\u00f6rtlich &#8222;verschmutzt&#8220; oder &#8222;unsauber&#8220;). Ein &#8222;tainted&#8220; Kernel signalisiert allgemein, dass sich der Kernel in einem modifizierten oder potenziell unsicheren Zustand befindet \u2013 etwa durch nicht unterst\u00fctzte Treiber oder tiefgehende Debug-Zugriffe.<\/p>\n<p>Zudem gew\u00e4hrleistet fwctl die Kompatibilit\u00e4t mit bestehenden Kernel-Subsystemen wie RDMA, DRM oder VFIO. So wird vermieden, dass Anwendungen auf ger\u00e4tespezifische Schnittstellen zugreifen m\u00fcssen, die sich k\u00fcnftig m\u00f6glicherweise \u00e4ndern.<\/p>\n<p>Mounts im Fokus<\/p>\n<p>Mit dem Kernel 2.6.36 hielt fanotiy (file access notify) als Schnittstelle f\u00fcr Echtzeitvirenscanner Einzug. Es dient urspr\u00fcnglich zum \u00dcberwachen, Benachrichtigen und Unterbinden von Dateisystemzugriffen. So konnte damit der Echtzeitvirenscan erm\u00f6glicht werden. fanotify mauserte sich \u00fcber die Jahre zur eierlegenden Wollmilchsau. Beispielsweise baut systemd auf den Read-Ahead von fanotify, um Inhalte von Dateien in weiser Voraussicht komplett ins RAM einzulesen und den Zugriff darauf zu beschleunigen.<\/p>\n<p>Linux 6.15 dopt die Wollmilchsau erneut. fanotify erlaubt nun das Registrieren, um \u00fcber das Ein- und Aush\u00e4ngen von Dateisystemen informiert zu werden. Statt wie bisher \/proc\/\/mountinfo pollend und damit teuer im Auge zu behalten, lehnt sich der Prozess ab jetzt entspannt zur\u00fcck und l\u00e4sst sich \u00fcber \u00c4nderungen bei den Mounts informieren. Der Kernel wei\u00df, wann ein Mount hinzu- oder wegkommt. Er h\u00e4ngt schlie\u00dflich ein und aus. Ein st\u00e4ndig nachfragender Prozess ist da ziemlicher Overhead.<\/p>\n<p>Der Kernel f\u00fchrt f\u00fcr fanotify die Benachrichtigungsmasken FAN_MNT_ATTACH und FAN_MNT_DETACH zum \u00dcberwachen des Ein- beziehungsweise Aush\u00e4ngens eines Dateisystems ein. Als Benachrichtigung erh\u00e4lt der registrierte Prozess die Mount-ID des betroffenen Dateisystems. Damit lassen sich \u00fcber System-Calls listmount() und statmount() anschlie\u00dfend n\u00e4here Informationen \u00fcber den Mount in Erfahrung bringen. Die beiden System-Calls sind <a href=\"https:\/\/www.heise.de\/news\/Linux-6-8-mit-modernem-Intel-Grafiktreiber-9652455.html\" rel=\"nofollow noopener\" target=\"_blank\">erst in Linux 6.8 eingef\u00fchrt<\/a> und in <a href=\"https:\/\/www.heise.de\/news\/Linux-6-11-Mehr-Rust-Torvalds-ergaenzt-Runtime-Constants-9871277.html\" rel=\"nofollow noopener\" target=\"_blank\">6.11 nochmals erweitert<\/a> worden. Auch diesmal erweitern die Programmierer den System-Call statmount(), der jetzt auch Informationen \u00fcber die auf dem Mount angewendeten ID-Mappings enth\u00e4lt.<\/p>\n<p>ID-mapped von ID-mapped<\/p>\n<p>Au\u00dferdem hebt die neue Kernel-Inkarnation <a href=\"https:\/\/www.heise.de\/news\/Linux-5-12-Standard-Release-mit-neuem-Hypervisor-ueberarbeitetem-ID-Remapping-6024865.html\" rel=\"nofollow noopener\" target=\"_blank\">die &#8222;ID-mapped Mounts&#8220; auf eine neue Stufe<\/a>. Linux 6.15 erlaubt nun das Erzeugen von ID-mapped Mounts auch von bestehenden ID-mapped Mounts. Bislang funktionierte das nur von Dateisystemen, die keinem ID-Remapping unterlagen.<\/p>\n<p>Da bereits zum wiederholten Male an ID-Remapping geschraubt wird, haben sich die ID-mapped Mounts und der damit verbundene &#8222;Wasserkopf&#8220; als etabliert angesehen. Beim Erscheinen des Kernels 5.12 war das noch nicht ganz abzusehen.<\/p>\n<p>\n      Dieser Link ist leider nicht mehr g\u00fcltig.\n    <\/p>\n<p>Links zu verschenkten Artikeln werden ung\u00fcltig,<br \/>\n      wenn diese \u00e4lter als 7\u00a0Tage sind oder zu oft aufgerufen wurden.\n    <\/p>\n<p><strong>Sie ben\u00f6tigen ein heise+ Paket, um diesen Artikel zu lesen. Jetzt eine Woche unverbindlich testen \u2013 ohne Verpflichtung!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"Linus Torvalds brachte vergangene Woche den Linux-Kernel 6.15 auf den Weg. Der neue Kernel widmet sich neben den&hellip;\n","protected":false},"author":2,"featured_media":164054,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[135],"tags":[57011,13395,29,30,196,17699,57012,57013,190,189,194,191,1314,193,192],"class_list":{"0":"post-164053","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-wissenschaft-technik","8":"tag-6-15","9":"tag-details","10":"tag-deutschland","11":"tag-germany","12":"tag-it","13":"tag-linux","14":"tag-linux-kernel","15":"tag-neuerungen","16":"tag-science","17":"tag-science-technology","18":"tag-technik","19":"tag-technology","20":"tag-updates","21":"tag-wissenschaft","22":"tag-wissenschaft-technik"},"share_on_mastodon":{"url":"https:\/\/pubeurope.com\/@de\/114624099994749369","error":""},"_links":{"self":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts\/164053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/comments?post=164053"}],"version-history":[{"count":0,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts\/164053\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/media\/164054"}],"wp:attachment":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/media?parent=164053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/categories?post=164053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/tags?post=164053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}