FUTEX2's sys_futex_waitv() Sent In For Linux 5.16 To Help Linux Gaming

Written by Michael Larabel in Linux Gaming on 1 November 2021 at 06:00 AM EDT. 15 Comments
LINUX GAMING
As expected after first reporting on it a month ago when the FUTEX2 patches were queued up in locking/core, this work with the new sys_futex_waitv() system call for helping the Windows on Linux gaming experience will indeed land for Linux 5.16.

The FUTEX2 work has been a long time coming and landing for Linux 5.16 is the main part: the sys_futex_waitv system call that allows for waiting on multiple futexes. This is very useful for the likes of Wine and Proton (Steam Play) for better matching the behavior of Microsoft Windows' WaitForMultipleObjects functionality. Making use of this new system call on Linux 5.16+ when patches land for Wine / Proton will allow for greater performance possibilities. Native Linux games may also make use of this system call directly or via a wrapper (e.g. glibc patches have been floated) as well for performance/efficiency benefits. The performance advantage may be in the ballpark of a few percent.

FUTEX2 originally was also going to incorporate variable-sized futexes, NUMA-awareness, and other improvements. That work though was pushed back to for now just getting sys_futex_waitv merged for the Linux gaming benefits and the other improvements can come later when ready.

This new code was sent in today for this first day of the Linux 5.16 merge window as the main addition of the locking updates changes this cycle. Linus should be pulling in the initial batch of 5.16 PRs in the coming hours.

There has been out-of-tree Proton/Wine patches while now that this system call is being mainlined, the patches will hopefully be upstreamed in short order.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week