• Linus Torvalds's avatar
    Merge tag 'for-5.19/io_uring-2022-05-22' of git://git.kernel.dk/linux-block · 3a166bdb
    Linus Torvalds authored
    Pull io_uring updates from Jens Axboe:
     "Here are the main io_uring changes for 5.19. This contains:
    
       - Fixes for sparse type warnings (Christoph, Vasily)
    
       - Support for multi-shot accept (Hao)
    
       - Support for io_uring managed fixed files, rather than always
         needing the applicationt o manage the indices (me)
    
       - Fix for a spurious poll wakeup (Dylan)
    
       - CQE overflow fixes (Dylan)
    
       - Support more types of cancelations (me)
    
       - Support for co-operative task_work signaling, rather than always
         forcing an IPI (me)
    
       - Support for doing poll first when appropriate, rather than always
         attempting a transfer first (me)
    
       - Provided buffer cleanups and support for mapped buffers (me)
    
       - Improve how io_uring handles inflight SCM files (Pavel)
    
       - Speedups for registered files (Pavel, me)
    
       - Organize the completion data in a struct in io_kiocb rather than
         keep it in separate spots (Pavel)
    
       - task_work improvements (Pavel)
    
       - Cleanup and optimize the submission path, in general and for
         handling links (Pavel)
    
       - Speedups for registered resource handling (Pavel)
    
       - Support sparse buffers and file maps (Pavel, me)
    
       - Various fixes and cleanups (Almog, Pavel, me)"
    
    * tag 'for-5.19/io_uring-2022-05-22' of git://git.kernel.dk/linux-block: (111 commits)
      io_uring: fix incorrect __kernel_rwf_t cast
      io_uring: disallow mixed provided buffer group registrations
      io_uring: initialize io_buffer_list head when shared ring is unregistered
      io_uring: add fully sparse buffer registration
      io_uring: use rcu_dereference in io_close
      io_uring: consistently use the EPOLL* defines
      io_uring: make apoll_events a __poll_t
      io_uring: drop a spurious inline on a forward declaration
      io_uring: don't use ERR_PTR for user pointers
      io_uring: use a rwf_t for io_rw.flags
      io_uring: add support for ring mapped supplied buffers
      io_uring: add io_pin_pages() helper
      io_uring: add buffer selection support to IORING_OP_NOP
      io_uring: fix locking state for empty buffer group
      io_uring: implement multishot mode for accept
      io_uring: let fast poll support multishot
      io_uring: add REQ_F_APOLL_MULTISHOT for requests
      io_uring: add IORING_ACCEPT_MULTISHOT for accept
      io_uring: only wake when the correct events are set
      io_uring: avoid io-wq -EAGAIN looping for !IOPOLL
      ...
    3a166bdb
io_uring.h 15.6 KB