Skip to content
Snippets Groups Projects
  1. Sep 21, 2022
  2. Sep 01, 2022
    • Pavel Begunkov's avatar
      io_uring/net: simplify zerocopy send user API · b48c312b
      Pavel Begunkov authored
      
      Following user feedback, this patch simplifies zerocopy send API. One of
      the main complaints is that the current API is difficult with the
      userspace managing notification slots, and then send retries with error
      handling make it even worse.
      
      Instead of keeping notification slots change it to the per-request
      notifications model, which posts both completion and notification CQEs
      for each request when any data has been sent, and only one CQE if it
      fails. All notification CQEs will have IORING_CQE_F_NOTIF set and
      IORING_CQE_F_MORE in completion CQEs indicates whether to wait a
      notification or not.
      
      IOSQE_CQE_SKIP_SUCCESS is disallowed with zerocopy sends for now.
      
      This is less flexible, but greatly simplifies the user API and also the
      kernel implementation. We reuse notif helpers in this patch, but in the
      future there won't be need for keeping two requests.
      
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Link: https://lore.kernel.org/r/95287640ab98fc9417370afb16e310677c63e6ce.1662027856.git.asml.silence@gmail.com
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      b48c312b
  3. Aug 25, 2022
  4. Jul 25, 2022
Loading