Was Linux 7.3 bei Grafikspeicher, Scheduling und Dateisystemen verbessert
In der Nacht von Sonntag auf Montag erschien der neue Linux-Kernel in Version 7.3. Der Kernel bringt einiges an Neuerungen. Im Fokus stehen Leistungssteigerung und Optimierung. Grafik soll flüssiger laufen. Der Scheduler erfährt ein neues Update mit der Möglichkeit zum Feintuning. Alte Zöpfe schneidet das neue Release ab. Nicht ganz ohne Aufschrei. Dafür rücken die Streichungen trickreiche Kernel-Mechanismen einmal ins Licht der Öffentlichkeit.
Optimierte VRAM-Verwaltung
Der Grafikspeicher oder Video Random Access Memory (VRAM) ist nicht erst seit der KI-Revolution ein kostbares Gut. Buhlen mehrere laufende Anwendungen um das VRAM, kann es zu Engpässen kommen. Gerade später gestartete Anwendungen hatten bei weitgehend belegtem GPU-Speicher das Nachsehen. Sie mussten unter Umständen ihre Daten im langsameren, über die Graphics Translation Table (GTT) adressierten Hauptspeicher (RAM) unterbringen. Das kann zu erheblichen Leistungseinbußen und Rucklern führen; insbesondere bei Spielen und allgemein bei schwächeren Grafikkarten.
Abhilfe schafft eine Erweiterung der GPU-Speicherverwaltung, die auf Device Memory Control Groups (dmemcg) aufsetzt. Damit lassen sich Anwendungen bevorzugt Anteile des Grafikspeichers zuweisen. Das schützt die betreffenden Anwendungen vor dem Verdrängen aus dem Grafikspeicher. Reicht das freie VRAM für eine Speicheranforderung einer solchen geschützten Anwendung nicht aus, versucht der Kernel, Speicher ungeschützter Anwendungen freizugeben und in das RAM auszulagern. Weniger wichtige Anwendungen sollen so den Grafikspeicher nicht mehr blockieren können. Wichtige Anwendungen sollen nicht mehr zum wiederholten Hin- und Herschieben von Daten zwischen VRAM und Hauptspeicher gezwungen werden.
Die Änderungen in der Grafikspeicherverwaltung kommen aktuell hauptsächlich den Treibern für AMD-GPUs und Intel Xe zugute. Besonderes Augenmerk liegt dabei auf Systemen mit 8 GByte oder weniger VRAM. Moderne Grafikanwendungen und besonders aktuelle Spiele dürstet es häufig nach viel GPU-Speicher – ein Durst, den diese schwächeren Systeme nicht mehr stillen können. Die intelligentere Speicherverwaltung soll gerade auf diesen schwächeren Systemen Nachladeruckler reduzieren und die Bildausgabe flüssiger gestalten. Linux 7.3 liefert damit einen wichtigen ersten Teil einer umfassenderen Überarbeitung der Grafikspeicherverwaltung. Weitere Optimierungen sind angedacht oder in Arbeit und dürften in den nächsten Kernel-Releases folgen.
Hierarchische Scheduler
Fast schon obligatorisch schraubt das Kernel-Team auch in Linux 7.3 am Scheduler. Diesmal erhält der „Extensible Scheduler“ (sched_ext) ein Upgrade. Im sched_ext lassen sich allgemein mittels eBPF eigene Algorithmen zum Verteilen von CPU-Rechenzeit programmieren, ohne dafür den Quelltext des Kernels ändern zu müssen.
Mit Linux 7.3 ist die Subscheduler-Unterstützung in sched_ext komplett: Damit lassen sich Scheduler-Hierarchien aufbauen. Einzelnen Control Groups (cgroups) können eigene Subscheduler zugeordnet werden, um den Prozessen der cgroup nach eigenen Regeln CPU-Zeit zuzuweisen. Übergeordnete Scheduler legen dabei fest, auf welche Cores und Funktionen die untergeordneten Scheduler Zugriff erhalten und auf welche sie damit beschränkt werden.
Neu in Linux 7.3 ist die vollständige Delegation von CPU-Ressourcen. Auch der Wechsel von einer cgroup zur nächsten berücksichtigt nun korrekt die Subscheduler. Ebenfalls führt der Kernel einen Rettungsmechanismus ein, um bei fehlerhaftem Zuteilen von Ressourcen ein vollständiges Blockieren von Prozessen zu verhindern. Damit lassen sich unterschiedliche Strategien fürs Scheduling für komplette Anwendungen, Container oder andere Prozessgruppen auf ein und demselben System realisieren.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.