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-0c67f5ad1...@codeweavers.com/