On 2/26/24 12:31 PM, Dylan Yudaken wrote: > On Mon, Feb 26, 2024 at 2:27?PM Jens Axboe <axboe@xxxxxxxxx> wrote: >> >>> You do make a good point about MSG_WAITALL though - multishot send >>> doesn't really make sense to me without MSG_WAITALL semantics. I >>> cannot imagine a useful use case where the first buffer being >>> partially sent will still want the second buffer sent. >> >> Right, and I need to tweak that. Maybe we require MSG_WAITALL, or we >> make it implied for multishot send. Currently the code doesn't deal with >> that. >> >> Maybe if MSG_WAITALL isn't set and we get a short send we don't set >> CQE_F_MORE and we just stop. If it is set, then we go through the usual >> retry logic. That would make it identical to MSG_WAITALL send without >> multishot, which again is something I like in that we don't have >> different behaviors depending on which mode we are using. >> > > It sounds like the right approach and is reasonably obvious. (I see > this is in v4 already) Yep, thanks for bringing attention to it! I wrote it up in the man pages as well. At least to me, it's what I would expect to be the case. -- Jens Axboe