Re: [PATCH 7/7] io_uring: add futex waitv

From: Peter Zijlstra
Date: Wed Jul 12 2023 - 05:32:06 EST


On Tue, Jul 11, 2023 at 06:47:05PM -0600, Jens Axboe wrote:
> Needs a bit of splitting and a few hunks should go further back (like
> the wake handler typedef).
>
> WIP, adds IORING_OP_FUTEX_WAITV - pass in an array of futex addresses,
> and wait on all of them until one of them triggers.
>

So I'm once again not following. FUTEX_WAITV is to wait on multiple
futexes and get a notification when any one of them wakes up with an
index to indicate which one.

How exactly is that different from multiple FUTEX_WAIT entries in the
io_uring thing itself? Admittedly I don't actually know much of anything
when it comes to io_uring, but isn't the idea that queue multiple
'syscall' like things and get individual completions back?

So how does WAITV make sense here?