• Linus Torvalds's avatar
    Merge tag 'for-6.6/io_uring-2023-08-28' of git://git.kernel.dk/linux · c1b7fcf3
    Linus Torvalds authored
    Pull io_uring updates from Jens Axboe:
     "Fairly quiet round in terms of features, mostly just improvements all
      over the map for existing code. In detail:
    
       - Initial support for socket operations through io_uring. Latter half
         of this will likely land with the 6.7 kernel, then allowing things
         like get/setsockopt (Breno)
    
       - Cleanup of the cancel code, and then adding support for canceling
         requests with the opcode as the key (me)
    
       - Improvements for the io-wq locking (me)
    
       - Fix affinity setting for SQPOLL based io-wq (me)
    
       - Remove the io_uring userspace code. These were added initially as
         copies from liburing, but all of them have since bitrotted and are
         way out of date at this point. Rather than attempt to keep them in
         sync, just get rid of them. People will have liburing available
         anyway for these examples. (Pavel)
    
       - Series improving the CQ/SQ ring caching (Pavel)
    
       - Misc fixes and cleanups (Pavel, Yue, me)"
    
    * tag 'for-6.6/io_uring-2023-08-28' of git://git.kernel.dk/linux: (47 commits)
      io_uring: move iopoll ctx fields around
      io_uring: move multishot cqe cache in ctx
      io_uring: separate task_work/waiting cache line
      io_uring: banish non-hot data to end of io_ring_ctx
      io_uring: move non aligned field to the end
      io_uring: add option to remove SQ indirection
      io_uring: compact SQ/CQ heads/tails
      io_uring: force inline io_fill_cqe_req
      io_uring: merge iopoll and normal completion paths
      io_uring: reorder cqring_flush and wakeups
      io_uring: optimise extra io_get_cqe null check
      io_uring: refactor __io_get_cqe()
      io_uring: simplify big_cqe handling
      io_uring: cqe init hardening
      io_uring: improve cqe !tracing hot path
      io_uring/rsrc: Annotate struct io_mapped_ubuf with __counted_by
      io_uring/sqpoll: fix io-wq affinity when IORING_SETUP_SQPOLL is used
      io_uring: simplify io_run_task_work_sig return
      io_uring/rsrc: keep one global dummy_ubuf
      io_uring: never overflow io_aux_cqe
      ...
    c1b7fcf3
rw.c 27.4 KB