FUTEX2 System Call Updated To Work On ARM

Written by Michael Larabel in Linux Gaming on 13 September 2021 at 02:45 PM EDT. 9 Comments
LINUX GAMING
While Linux 5.15 has many new features and improvements, one of the patch series we have been eager to see land is the work introducing the new FUTEX2 system call. FUTEX2 can help improve the performance of newer Windows games running on Linux via Wine / Steam Play's Proton by better matching the Windows kernel behavior, but while it didn't land for Linux 5.15, at least a new version of the patches were posted.

André Almeida of Collabora has posted his third iteration of the refined / slimmed down FUTEX2 implementation that is just focused on supporting wait for multiple futexes. Originally FUTEX2 was also working on variable-sized futexes, NUMA-awareness, and other futex improvements while those extra features will come later with first trying to usher through the "futex_wait_multiple" behavior. This aims to help newer Windows games that rely on the "WaitForMultipleObjects" call for waiting on multiple locks at once.

With today's "v3" patches, the FUTEX2 patches are now working with ARM Linux kernel builds. There is also a fix from the prior version of the patches to remove the compatibility entry point.

These updated FUTEX2 patches can be found on the kernel mailing list. Here's to hoping this work will potentially be ready to land later this year with Linux 5.16...
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