Updated "FUTEX2" futex_waitv Patches Posted To Address Latest Feedback
The promising FUTEX2 work focused on improving the Linux performance for running Windows games via Wine/Proton by extending futex to wait on multiple locks is still moving forward.
Last month the work was revised in simpler form by just focusing on the new "futex_waitv" system call and postpone additional improvements planned around variable-sized futexes, NUMA-awareness, and more. That additional work will come later while the immediate focus is on the "futex_waitv" system call to address the needs of Wine/Proton by better matching Windows' WaitForMultipleObjects behavior with more efficient emulation.
Earlier this week André Almeida of Collabora who has been leading this patch series presented at the Linux Plumbers Conference 2021 the current status, design, and figuring out what's needed to get the code merged. His presentation is below along with the slides.
Following those LPC2021 discussions, a revised patch series focusing on the futex_waitv system call have been sent out. The v2 series adds a new clockid argument for sys_futex_waitv(), additional documentation and test coverage, and error fixes.
It looks like FUTEX2 in terms of futex_waitv may be settling down. We'll see if it indeed gets buttoned up soon and could premiere with Linux 5.16 to help Linux gaming performance in early 2022 especially with the likes of Steam Deck looking forward to this functionality.
Last month the work was revised in simpler form by just focusing on the new "futex_waitv" system call and postpone additional improvements planned around variable-sized futexes, NUMA-awareness, and more. That additional work will come later while the immediate focus is on the "futex_waitv" system call to address the needs of Wine/Proton by better matching Windows' WaitForMultipleObjects behavior with more efficient emulation.
Earlier this week André Almeida of Collabora who has been leading this patch series presented at the Linux Plumbers Conference 2021 the current status, design, and figuring out what's needed to get the code merged. His presentation is below along with the slides.
Following those LPC2021 discussions, a revised patch series focusing on the futex_waitv system call have been sent out. The v2 series adds a new clockid argument for sys_futex_waitv(), additional documentation and test coverage, and error fixes.
It looks like FUTEX2 in terms of futex_waitv may be settling down. We'll see if it indeed gets buttoned up soon and could premiere with Linux 5.16 to help Linux gaming performance in early 2022 especially with the likes of Steam Deck looking forward to this functionality.
Add A Comment