Linus Torvalds kündigte am gestrigen Sonntag die allgemeine Verfügbarkeit von Linux-Kernel 6.12 an. Die neue Kernel-Version hat einige interessante Neuerungen zu bieten. Torvalds scheint zufrieden mit der Veröffentlichung, denn seine Ankündigung fällt recht kurz aus.
Neben den üblichen Aktualisierungen zur Unterstützung aktueller und kommender CPUs und GPUs stechen zwei Neuerungen heraus. Dabei geht es um Echtzeit-Unterstützung und einen neuen Extensible Scheduler, der eigentlich bereits mit 6.11 hätte erscheinen sollen.
Nach 20 Jahren: Echtzeit im Kernel
Real-Time-Unterstützung für den Kernel existierte in der Form des PREEMPT_RT-Patchsets als out-of-tree-patches bereits seit 2005. Die Patches taten Dienst in Echtzeitbetriebssystemen (RTOS), die für zeitkritische Anwendungen in der Medizin, in der Robotik, im Flugwesen, aber auch bei Audio- und Videoproduktion zum Einsatz kommen. Es dauerte somit fast 20 Jahre, bis Echtzeit-Linux, das entwickelt wurde, um zeitkritische Aufgaben mit Präzision und Zuverlässigkeit zu erledigen, in den Mainline-Kernel einzog. Linux sollte damit in der Lage sein, Antwortzeiten von 100 Mikrosekunden zu garantieren.
Neuer Taktgeber
Die zweite herausragende Neuerung betrifft den bereits für 6.11 angekündigten Extensible Scheduler (sched_ext). Torvalds hatte die Aufnahme der 14.000 Zeilen umfassenden Patches für den neuen Taktgeber auf 6.12 verschoben. Der neue Scheduler weckt hohe Erwartungen, da er die Implementierung von Scheduling-Richtlinien als BPF-Programme (Berkeley Packet Filter) ermöglicht.
Wie üblich bringt der neue Kernel neben vielem anderen auch verschiedene Verbesserungen bei den Dateisystemen EXT4, Btrfs, exFAT, FUSE, F2FS und Bcachefs sowie weitere Rust-Updates. Alle Änderungen können über die Webseite Kernel Newbies nachgelesen werden.

Mal echt jetzt. Das wurde echt mal Zeit mit der Echtzeit. Jetzt steckt im Kernel Musik drin. Beim Musikmachen ist es (r)echt störend wenn einer aus dem Takt fällt und in sehr vielen anderen Bereichen sind Vorgange zeitlich strikt gebunden.
Und welchen speziellen Nutzen versprichst Du dir jetzt davon? Sag jetzt nicht dein Rechner wird dadurch schneller. 😉
Hat er doch geschrieben: Musik. Reduzierte Latenz, verbesserte Leistung und Prioritätssteuerung bei Audio-Video Produktionen ums ganz kurz zu fassen. Ubuntustudio hatte schon immer einen Echtzeitkernel deswegen.
Schon mal ne DAW (nicht DAU^^) mit einem hochwertigen Audiointerface und einer Handvoll LV2/LV3/VST-Plugins verwendet? Geht nicht gut ohne RT Kernel.
Warum wurde der Echtzeitpatch erst jetzt in Mainline aufgenommen und nicht schon viel früher?
Und was hat man von diesem neuen Scheduler?
Ein Patchset wie PREEMPT_RT in den Kernel zu integrieren ist ein schwieriges Unterfangen, da er an so vielen Stellen eingreift. Die technischen Hürden werden auf LWN im Detail beschrieben. Der neue Scheduler ist auf Kernel.org beschrieben.
Die Integration des Echtzeitpatches in den Mainline-Kernel war ein komplexer und zeitaufwändiger Prozess zudem gab es Bedenken hinsichtlich der Auswirkungen auf die Gesamtleistung und Stabilität. Ausserdem musste die Linux-Kernel-Community einen Konsens über die Notwendigkeit und den richtigen Ansatz für Echtzeit-Funktionen im Mainline-Kernel erreichen. Der zunehmende Bedarf an Echtzeit-Linux in verschiedenen Industriezweigen hat schließlich den Ausschlag für die Integration gegeben.
Als ganz normaler Anwender haste garnix davon. Mekste garnicht.
Es geht dabei vorrangig um die Industrieellen Anwendungen.
Der EXT-Scheduler ist nicht “ein” Scheduler, sondern ein Interface, um aus dem Userspace einen Scheduler in den laufenden Kernel zu laden. Während der läuft, wird EEVDF pausiert.
Als Privatanwender hauptsächlich interessant für Gaming. SCX_LAVD und SCX_BPFLAND wären da hervorzuheben, da die jetzt schon eine sehr gute Figur machen.
Daher wurden (und werden) die auch im Netz ziemlich gefeiert.
In meinen eigenen Benchmarks hatte ich jedoch seit der Überarbeitung von EEVDF keinen Bedarf mehr – der kerneleigene Scheduler hat hier in mehreren Messungen CP2077-Benchmark ca. 5 FPS mehr erreicht.
Ein Spiel, das bei mir sehr gut mit SCX_LAVD lief, war V-Rising. Habe ich aber seit dem EEVDF-Update nicht mehr verglichen.
Kommt immer drauf an, wie die Titel geschrieben sind. Das gute ist jetzt, dass man die einfach über einen simplen Kommandozeilenbefehl reinladen und wieder rauswerfen kann.