Wie erwartet Nachdem vor einem Monat zum ersten Mal darüber berichtet wurde, als die FUTEX2-Patches in Locking/Core in die Warteschlange gestellt wurden, wird diese Arbeit mit dem neuen Systemaufruf sys_futex_waitv() zur Unterstützung des Windows-on-Linux-Spielerlebnisses tatsächlich für Linux 5.16 landen.
Die Arbeit an FUTEX2 hat lange auf sich warten lassen und die Landung für Linux 5.16 ist der Hauptteil: der Systemaufruf sys_futex_waitv, der das Warten auf mehrere Futexes ermöglicht. Dies ist sehr nützlich für Wine und Proton (Steam Play), um das Verhalten der WaitForMultipleObjects-Funktion von Microsoft Windows besser abzustimmen. Die Nutzung dieses neuen Systemaufrufs unter Linux 5.16+, wenn Patches für Wine/Proton landen, wird größere Leistungsmöglichkeiten ermöglichen. Native Linux-Spiele können diesen Systemaufruf auch direkt oder über einen Wrapper (z. Der Leistungsvorteil kann im Bereich von wenigen Prozent liegen.
FUTEX2 sollte ursprünglich auch Futexe mit variabler Größe, NUMA-Bewusstsein und andere Verbesserungen enthalten. Diese Arbeit wurde jedoch vorerst auf die Zusammenführung von sys_futex_waitv für die Linux-Spielvorteile verschoben und die anderen Verbesserungen können später erfolgen, wenn sie fertig sind.
Dieser neue Code wurde heute für diesen ersten Tag von. gesendet das Zusammenführungsfenster von Linux 5.16 als Haupthinzufügung der Sperraktualisierungen ändert diesen Zyklus. Linus sollte in den kommenden Stunden die erste Charge von 5,16 PRs einziehen.
Es gab nicht mehr vorhandene Proton/Wine-Patches Während dieser Systemaufruf jetzt aufrechterhalten wird, werden die Patches hoffentlich in kurzer Zeit hochgeladen.