FUTEX2 as in the new futex_waitv system call landed in Linux 5.16 back during the merge window for improving the efficiency of running Windows games on Linux for those that rely on Windows’ WaitForMultipleObjects functionality with futex_waitv is now the ability to wait on multiple futexes. That new system call is now supported on more architectures with the next Linux 5.16 release candidate.
Back with the original FUTEX2/futex_waitv patches the system call was wired up for x86/x86_64 and Arm. Patches since then enabled the system call for MIPS, parisc, and s390. Landing today was enabling the system call for the rest of the supported CPU architectures by the Linux kernel, not that it’s too important for those archs from the gaming aspect but for other use-cases in wanting to wait on multiple futexes.
With today’s Git merge, the futex_waitv system call has been added to the system call tables for Alpha, IA64, m68k, Microblaze, POWER, SH, SPARC, and Xtensa.
This latest work will be found in Linux 5.16-rc3 due out this Sunday.
Along with other fixes landing this week, also being merged today were an update to folios for that other shiny new feature in Linux 5.16. Folios is exciting on the memory management front and merged today were some changes desired now that more developers have begun “kicking the tires” around it. Among the changes/fixes to Folios is now renaming “multi-page” folios now to just ‘large” folios, in order to shorten up some of the function names.