Linux Kernel Updates  Bild © DALL-ELinux Kernel Updates (Bild © DALL-E)

Ein langjähriger Forschungsstrang zu den Restartable Sequences (RSEQ) des Kernels wurde endlich umgesetzt. Der neue Code ermöglicht es einem Thread im Benutzerbereich, den Scheduler um eine vorübergehende Verlängerung seiner aktuellen Zeitscheibe zu bitten. Wenn dies gewährt wird, läuft der Thread so lange ununterbrochen, bis er einen kritischen Abschnitt abgeschlossen hat, wodurch die durch einen präemptiven Kontextwechsel verursachte Latenz vermieden wird. Die Verlängerung ist opportunistisch – der Kernel gibt dem Antrag nur nach, wenn genug CPU-Kapazität vorhanden ist, wodurch die allgemeine Fairness gewahrt bleibt und gleichzeitig Konflikte um gemeinsam genutzte Ressourcen reduziert werden.

Konsolidierte Präemptionsmodi

Ältere Präemptionsoptionen („none” und „voluntary”) wurden aus der Liste der unterstützten Optionen entfernt. Alle wichtigen Architekturen, x86/64, IBM s390, RISC-V, POWER, LoongArch und ARM64, bieten jetzt eine binäre Auswahl zwischen vollständiger Präemption (sofortige Unterbrechbarkeit) und verzögerter Präemption (Verschieben von Unterbrechungspunkten an sichere Stellen). Diese Vereinfachung reduziert die Komplexität des Codes, beseitigt unklare Konfigurationspfade und passt den Scheduler an die von modernen CPUs verwendeten Ausführungsmodelle an.

Leistungs- und Skalierbarkeitssteigerungen

Der Patch-Satz zielt auch auf den rohen Durchsatz des Schedulers ab:

  • Fair-Scheduler SMP NOHZ-Balancing erhielt algorithmische Abkürzungen, die den Overhead von Lastverteilungsentscheidungen auf untätigen CPUs verringern.
  • Scheduler-Tickless-Pfade (NOHZ) wurden gestrafft, wodurch Zyklen aus dem häufigen Fall, in dem keine Timer anstehen, eingespart werden.
  • Allgemeine Code-Pfad-Optimierungen reduzieren Lock-Konflikte und verbessern die Cache-Lokalität, was Workloads zugute kommt, die Tausende von Threads erzeugen oder massive parallele Jobs ausführen.

Diese Änderungen sind besonders relevant für Cloud-fähige Server, Hochleistungs-Computing-Cluster und neue Workstation-Plattformen mit 64, 128 oder mehr Kernen. Erste interne Testberichte zeigen messbare Reduzierungen der Scheduler-Latenz und eine höhere Gesamt-CPU-Auslastung bei gemischten Workloads.

Die zusammengeführte Commit-Reihe ist über das Linux-Kernel-Git-Repository öffentlich zugänglich. Die Mitwirkenden planen, eine systematische Benchmarking-Kampagne für den Release Candidate 7.0 zu starten, die sich auf Latenz, Durchsatz und Regressionserkennung bei einer Vielzahl von synthetischen und realen Workloads konzentriert. Die Ergebnisse werden als Grundlage für die endgültige Feinabstimmung dienen, bevor der stabile 7.0-Kernel später in diesem Jahr ausgeliefert wird.