Como se esperaba después de informar por primera vez sobre esto hace un mes cuando los parches de FUTEX2 se pusieron en cola en lock/core, este trabajo con la nueva llamada del sistema sys_futex_waitv () para ayudar a la experiencia de juego de Windows en Linux aterrizará para Linux 5.16.
El trabajo de FUTEX2 ha tardado mucho en llegar y el aterrizaje para Linux 5.16 es la parte principal: la llamada al sistema sys_futex_waitv que permite esperar en múltiples futexes. Esto es muy útil para Wine y Proton (Steam Play) para que coincida mejor con el comportamiento de la funcionalidad WaitForMultipleObjects de Microsoft Windows. Hacer uso de esta nueva llamada al sistema en Linux 5.16+ cuando los parches lleguen a Wine/Proton permitirá mayores posibilidades de rendimiento. Los juegos nativos de Linux también pueden hacer uso de esta llamada al sistema directamente o mediante un contenedor (por ejemplo, se han lanzado parches de glibc) también para obtener beneficios de rendimiento/eficiencia. La ventaja de rendimiento puede estar en el estadio de béisbol de un pequeño porcentaje.
FUTEX2 originalmente también iba a incorporar futexes de tamaño variable, reconocimiento de NUMA y otras mejoras. Sin embargo, ese trabajo se retrasó por ahora solo con la fusión de sys_futex_waitv para los beneficios de los juegos de Linux y las otras mejoras pueden venir más adelante cuando estén listas.
Este nuevo código fue enviado hoy para este primer día de la ventana de fusión de Linux 5.16 como la adición principal de las actualizaciones de bloqueo cambia este ciclo. Linus debería estar obteniendo el lote inicial de 5.16 PR en las próximas horas.
Ha habido parches de protones/vino fuera del árbol mientras que ahora que esta llamada al sistema está siendo mainline, se espera que los parches se transmitan en poco tiempo.