• Linus Torvalds's avatar
    Merge tag 'for-6.1/io_uring-2022-10-03' of git://git.kernel.dk/linux · 0a78a376
    Linus Torvalds authored
    Pull io_uring updates from Jens Axboe:
    
     - Add supported for more directly managed task_work running.
    
       This is beneficial for real world applications that end up issuing
       lots of system calls as part of handling work. Normal task_work will
       always execute as we transition in and out of the kernel, even for
       "unrelated" system calls. It's more efficient to defer the handling
       of io_uring's deferred work until the application wants it to be run,
       generally in batches.
    
       As part of ongoing work to write an io_uring network backend for
       Thrift, this has been shown to greatly improve performance. (Dylan)
    
     - Add IOPOLL support for passthrough (Kanchan)
    
     - Improvements and fixes to the send zero-copy support (Pavel)
    
     - Partial IO handling fixes (Pavel)
    
     - CQE ordering fixes around CQ ring overflow (Pavel)
    
     - Support sendto() for non-zc as well (Pavel)
    
     - Support sendmsg for zerocopy (Pavel)
    
     - Networking iov_iter fix (Stefan)
    
     - Misc fixes and cleanups (Pavel, me)
    
    * tag 'for-6.1/io_uring-2022-10-03' of git://git.kernel.dk/linux: (56 commits)
      io_uring/net: fix notif cqe reordering
      io_uring/net: don't update msg_name if not provided
      io_uring: don't gate task_work run on TIF_NOTIFY_SIGNAL
      io_uring/rw: defer fsnotify calls to task context
      io_uring/net: fix fast_iov assignment in io_setup_async_msg()
      io_uring/net: fix non-zc send with address
      io_uring/net: don't skip notifs for failed requests
      io_uring/rw: don't lose short results on io_setup_async_rw()
      io_uring/rw: fix unexpected link breakage
      io_uring/net: fix cleanup double free free_iov init
      io_uring: fix CQE reordering
      io_uring/net: fix UAF in io_sendrecv_fail()
      selftest/net: adjust io_uring sendzc notif handling
      io_uring: ensure local task_work marks task as running
      io_uring/net: zerocopy sendmsg
      io_uring/net: combine fail handlers
      io_uring/net: rename io_sendzc()
      io_uring/net: support non-zerocopy sendto
      io_uring/net: refactor io_setup_async_addr
      io_uring/net: don't lose partial send_zc on fail
      ...
    0a78a376
io_uring.c 106 KB