Updated FUTEX2 System Call Patches Posted For Helping Wine/Proton, Other Use-Cases
It's been several months since the last round of FUTEX2 patches for this system call to address the shortcomings of the current FUTEX system call. FUTEX2, which is designed in part with Wine/Proton in mind for better matching Windows semantics, has now seen a third iteration of the patches.
FUTEX2 aims to better match the behavior of Windows and can wait on multiple futexes, among other improvements over the original system call. It's important for Wine/Proton and ultimately Steam Play for enjoying Windows games on Linux with optimal performance and reliability.
Besides testing with a patched version of Wine, the FUTEX2 code has also been tested against a modified version of the GNU C Library as well as Linux's perf tests. This "v3" patch-set now supports 64-bit futexes with its API in addition to 8/16/32-bits, API changes that do require alterations to the existing Proton/Wine and Glibc patches, and refactoring of the self-tests.
More details on the FUTEX2 system call v3 patches can be found via the kernel mailing list. However, giving the timing of these patches now only going out for review, it's too late for seeing in the now-open Linux 5.13 cycle but hopefully this work will manage to finally get squared away for a kernel release later this year.
FUTEX2 aims to better match the behavior of Windows and can wait on multiple futexes, among other improvements over the original system call. It's important for Wine/Proton and ultimately Steam Play for enjoying Windows games on Linux with optimal performance and reliability.
Besides testing with a patched version of Wine, the FUTEX2 code has also been tested against a modified version of the GNU C Library as well as Linux's perf tests. This "v3" patch-set now supports 64-bit futexes with its API in addition to 8/16/32-bits, API changes that do require alterations to the existing Proton/Wine and Glibc patches, and refactoring of the self-tests.
More details on the FUTEX2 system call v3 patches can be found via the kernel mailing list. However, giving the timing of these patches now only going out for review, it's too late for seeing in the now-open Linux 5.13 cycle but hopefully this work will manage to finally get squared away for a kernel release later this year.
32 Comments