It Appears FUTEX2 Will Land For Linux 5.16
Barring any last minute reservations it appears the initial "FUTEX2" work that is of much interest to Linux gamers enjoying Steam Play / Proton will find that kernel functionality in Linux 5.16.
The FUTEX2 work was slimmed down this year to focus just on the WaitForMultipleObjects-type behavior as offered by Windows. Those patches in turn were picked up for tip/tip.git's "locking/core" branch. With it now hitting this Git branch, it makes it almost definite that it will be found in the next merge window (Linux 5.16) barring any problems creeping up that would cause a revert.
The focus of this work by Collabora has been on the "futex_waitv" system call to address the needs of Wine/Proton by better matching Windows' WaitForMultipleObjects behavior with more efficient emulation. User-space patches are pending to make use of this new system call and in turn allow for Windows games running on Linux to operate more efficiently.
With time there still are goals to also make the FUTEX2 code handle variable-sized futexes, NUMA-awareness, and other improvements over the original FUTEX implementation but for now the immediate need has been the wait-on-multiple support.
So rejoice this weekend that the code has been picked up in the important locking/core branch ahead of Linux 5.16.
The FUTEX2 work was slimmed down this year to focus just on the WaitForMultipleObjects-type behavior as offered by Windows. Those patches in turn were picked up for tip/tip.git's "locking/core" branch. With it now hitting this Git branch, it makes it almost definite that it will be found in the next merge window (Linux 5.16) barring any problems creeping up that would cause a revert.
The focus of this work by Collabora has been on the "futex_waitv" system call to address the needs of Wine/Proton by better matching Windows' WaitForMultipleObjects behavior with more efficient emulation. User-space patches are pending to make use of this new system call and in turn allow for Windows games running on Linux to operate more efficiently.
With time there still are goals to also make the FUTEX2 code handle variable-sized futexes, NUMA-awareness, and other improvements over the original FUTEX implementation but for now the immediate need has been the wait-on-multiple support.
So rejoice this weekend that the code has been picked up in the important locking/core branch ahead of Linux 5.16.
25 Comments