Re: [RFC PATCH v2 00/13] Add futex2 syscall

From: Zebediah Figura
Date: Mon Mar 08 2021 - 11:19:19 EST


On 3/3/21 6:42 PM, André Almeida wrote:
** The wait on multiple problem

The use case lies in the Wine implementation of the Windows NT interface
WaitMultipleObjects. This Windows API function allows a thread to sleep
waiting on the first of a set of event sources (mutexes, timers, signal,
console input, etc) to signal. Considering this is a primitive
synchronization operation for Windows applications, being able to quickly
signal events on the producer side, and quickly go to sleep on the
consumer side is essential for good performance of those running over Wine.

It's probably worth pointing out, for better or for worse, while this is *a* use case, it's also limited to an out-of-tree patch set/forked versions of Wine. I'm currently working on a different approach that should be upstreamable to Wine proper, as detailed in [1].

[1] https://lore.kernel.org/lkml/f4cc1a38-1441-62f8-47e4-0c67f5ad1d43@xxxxxxxxxxxxxxx/