On Sun, Feb 25, 2024 at 12:46 AM Jens Axboe <axboe@xxxxxxxxx> wrote: > > This works very much like the receive side, except for sends. The idea > is that an application can fill outgoing buffers in a provided buffer > group, and then arm a single send that will service them all. For now > this variant just terminates when we are out of buffers to send, and > hence the application needs to re-arm it if IORING_CQE_F_MORE isn't > set, as per usual for multishot requests. > This feels to me a lot like just using OP_SEND with MSG_WAITALL as described, unless I'm missing something? I actually could imagine it being useful for the previous patches' use case of queuing up sends and keeping ordering, and I think the API is more obvious (rather than the second CQE sending the first CQE's data). So maybe it's worth only keeping one approach?