bk99.de entertain the web since 1997

Linux-Kernel soll Windows-API für Synchronisation bekommen

Zusammenfassung

Codeweavers-Entwicklerin Elizabeth Figura schlug im Januar 2024 den Kerneltreiber NTSync vor, der Funktionen der Windows-NT-Thread-Synchronisation direkt im Linux-Kernel umsetzt. Vorgänger wie Esync und Fsync/Futex2 stießen an Grenzen, weil sich die komplexen NT-Semantiken mit vorhandenen Primitiven nicht korrekt nachbauen ließen. Bei manchen Spielen soll NTSync die Bildrate um 50 bis 150 Prozent steigern, bei anderen kaum etwas ändern.

Ideen

  • Wine muss Windows-Synchronisationsobjekte möglichst exakt nachbilden.
  • Threads sollen gleichzeitig auf mehrere Objekte warten können.
  • Manche Operationen brauchen direkte Kontrolle, die im Userspace nicht möglich ist.
  • Valve und Codeweavers trieben die Entwicklung über Jahre voran.

Einsichten

  • Kompatibilitätsschichten stoßen irgendwann an die Grenzen des Gastsystems und brauchen Kernel-Unterstützung.
  • Korrektheit ist bei Synchronisation wichtiger als eine clevere Nachbildung.

Fakten

  • Die Arbeiten an besserer Thread-Synchronisation in Wine begannen über vier Jahre zuvor.
  • Figura stellte das Konzept auf der Linux Plumbers Conference vor.

Referenzen

Kritik

  • Die Leistungszahlen stammen aus Tests der Entwickler und schwanken stark zwischen einzelnen Spielen.

Empfehlungen

  • Aktualisiere Kernel und Proton, um von neuen Synchronisationsmechanismen zu profitieren.
  • Miss Leistungsgewinne bei Spielen selbst, statt auf Durchschnittswerte zu vertrauen.

Originalartikel lesen →

Im Webarchiv suchen