FUTEX2 Still Being Worked On For Benefiting Linux Gaming & Much More
Proposed last summer by Valve and Collabora developers were extending the Linux kernel's futex system call to allow for more optimal thread pool synchronization and paired with Wine/Proton work to better match the semantics of Windows. That then spun into creating a new system call, futex2. With the recently closed Linux 5.9 merge window the new futex2 system call didn't land, but the work is still being pursued.
Futex2 was sent out in June for initial discussions on this new blocking construct system call rather than continuing to try extending the existing futex system call. From the Valve/Collabora perspective for Linux gaming this is about potentially yielding CPU utilization benefits. Futex2 changes allow for waiting on any of multiple futexes and to better support other features moving forward that can't fit in nicely with the existing futex system call like variable bit size futexes and NUMA optimizations.
The Futex2 interface is still moving ahead even though it wasn't settled in time for Linux 5.9. An overview of the current state of Futex2 can be found via this slide deck (PDF) by Collabora's André Almeida. The proposed system call is being discussed at this week's Linux Plumbers Conference. So with some luck hopefully this work will keep moving ahead and the upstream developers can reach an agreement over the syscall so that we could potentially see it mainlined later this year in Linux 5.10 or next year with Linux 5.11.
Futex2 was sent out in June for initial discussions on this new blocking construct system call rather than continuing to try extending the existing futex system call. From the Valve/Collabora perspective for Linux gaming this is about potentially yielding CPU utilization benefits. Futex2 changes allow for waiting on any of multiple futexes and to better support other features moving forward that can't fit in nicely with the existing futex system call like variable bit size futexes and NUMA optimizations.
The Futex2 interface is still moving ahead even though it wasn't settled in time for Linux 5.9. An overview of the current state of Futex2 can be found via this slide deck (PDF) by Collabora's André Almeida. The proposed system call is being discussed at this week's Linux Plumbers Conference. So with some luck hopefully this work will keep moving ahead and the upstream developers can reach an agreement over the syscall so that we could potentially see it mainlined later this year in Linux 5.10 or next year with Linux 5.11.
1 Comment