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) Dylan