Skip to content

io_uring_prep_send_bundle (IORING_RECVSEND_BUNDLE) : buffer ring updates, "done" buffers and zero copy #1239

Answered by axboe
nigoroll asked this question in Q&A
Discussion options

You must be logged in to vote

io_uring_prep_send(3) states that a bundle send "keeps sending from that buffer group until it runs out of buffers.", but does this imply that more buffers can be added while the send is in flight?

This ties in with the IORING_CQE_F_MORE as well. When bundle is set, if:

  1. There are more buffers to send, and
  2. The current send was successful

then another attempt will be made. When this happens. IORING_CQE_F_MORE will be set in the posted CQE, as another attempt at sending will be made. This is identical to other kinds of multishot requests, if more CQEs are expected for this request, then the MORE flag will be set. However, a send bundle isn't persistent in the sense that it stays around a…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@nigoroll
Comment options

Answer selected by nigoroll
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants