io-uring.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: io-uring <io-uring@vger.kernel.org>
Subject: [GIT PULL] io_uring updates for 5.15-rc1
Date: Mon, 30 Aug 2021 08:53:09 -0600	[thread overview]
Message-ID: <9ef2a5e9-7380-7e56-7959-b65859ed8f05@kernel.dk> (raw)

Hi Linus,

io_uring updates for the 5.15 release:

- Cancelation cleanups (Hao, Pavel)

- io-wq accounting cleanup (Hao)

- io_uring submit locking fix (Hao)

- io_uring link handling fixes (Hao)

- Fixed file improvements (wangyangbo, Pavel)

- Allow updates of linked timeouts like regular timeouts (Pavel)

- IOPOLL fix (Pavel)

- Remove batched file get optimization (Pavel)

- Improve reference handling (Pavel)

- IRQ task_work batching (Pavel)

- Allow pure fixed file, and add support for open/accept (Pavel)

- GFP_ATOMIC RT kernel fix

- Multiple CQ ring waiter improvement

- Funnel IRQ completions through task_work

- Add support for limiting async workers explicitly

- Add different clocksource support for timeouts

- io-wq wakeup race fix

- Lots of cleanups and improvement (Pavel et al)

Please pull!


The following changes since commit e22ce8eb631bdc47a4a4ea7ecf4e4ba499db4f93:

  Linux 5.14-rc7 (2021-08-22 14:24:56 -0700)

are available in the Git repository at:

  git://git.kernel.dk/linux-block.git tags/for-5.15/io_uring-2021-08-30

for you to fetch changes up to 87df7fb922d18e96992aa5e824aa34b2065fef59:

  io-wq: fix wakeup race when adding new work (2021-08-30 07:45:47 -0600)

----------------------------------------------------------------
for-5.15/io_uring-2021-08-30

----------------------------------------------------------------
Hao Xu (8):
      io_uring: extract io_uring_files_cancel() in io_uring_task_cancel()
      io_uring: remove files pointer in cancellation functions
      io_uring: code clean for completion_lock in io_arm_poll_handler()
      io-wq: move nr_running and worker_refs out of wqe->lock protection
      io_uring: fix lack of protection for compl_nr
      io_uring: don't free request to slab
      io_uring: remove redundant req_set_fail()
      io_uring: fix failed linkchain code logic

Jens Axboe (14):
      io-wq: remove GFP_ATOMIC allocation off schedule out path
      io_uring: be smarter about waking multiple CQ ring waiters
      io_uring: run timeouts from task_work
      io_uring: run linked timeouts from task_work
      io_uring: run regular file completions from task_work
      io_uring: remove IRQ aspect of io_ring_ctx completion lock
      io_uring: correct __must_hold annotation
      io_uring: add comments on why PF_EXITING checking is safe
      io_uring: add clarifying comment for io_cqring_ev_posted()
      io-wq: provide a way to limit max number of workers
      io_uring: support CLOCK_BOOTTIME/REALTIME for timeouts
      io-wq: check max_worker limits if a worker transitions bound state
      io-wq: wqe and worker locks no longer need to be IRQ safe
      io-wq: fix wakeup race when adding new work

Pavel Begunkov (64):
      io_uring: use kvmalloc for fixed files
      io_uring: inline fixed part of io_file_get()
      io_uring: rename io_file_supports_async()
      io_uring: avoid touching inode in rw prep
      io_uring: clean io-wq callbacks
      io_uring: remove unnecessary PF_EXITING check
      io-wq: improve wq_list_add_tail()
      io_uring: refactor io_alloc_req
      io_uring: don't halt iopoll too early
      io_uring: add more locking annotations for submit
      io_uring: optimise io_cqring_wait() hot path
      io_uring: extract a helper for ctx quiesce
      io_uring: move io_put_task() definition
      io_uring: move io_rsrc_node_alloc() definition
      io_uring: inline io_free_req_deferred
      io_uring: deduplicate open iopoll check
      io_uring: improve ctx hang handling
      io_uring: kill unused IO_IOPOLL_BATCH
      io_uring: drop exec checks from io_req_task_submit
      io_uring: optimise putting task struct
      io_uring: move io_fallback_req_func()
      io_uring: cache __io_free_req()'d requests
      io_uring: remove redundant args from cache_free
      io_uring: use inflight_entry instead of compl.list
      io_uring: inline struct io_comp_state
      io_uring: remove extra argument for overflow flush
      io_uring: inline io_poll_remove_waitqs
      io_uring: clean up tctx_task_work()
      io_uring: remove file batch-get optimisation
      io_uring: move req_ref_get() and friends
      io_uring: remove req_ref_sub_and_test()
      io_uring: remove submission references
      io_uring: skip request refcounting
      io_uring: optimise hot path of ltimeout prep
      io_uring: optimise iowq refcounting
      io_uring: don't inflight-track linked timeouts
      io_uring: optimise initial ltimeout refcounting
      io_uring: kill not necessary resubmit switch
      io_uring: deduplicate cancellation code
      io_uring: kill REQ_F_LTIMEOUT_ACTIVE
      io_uring: simplify io_prep_linked_timeout
      io_uring: cancel not-armed linked touts separately
      io_uring: optimise io_prep_linked_timeout()
      io_uring: better encapsulate buffer select for rw
      io_uring: reuse io_req_complete_post()
      io_uring: improve same wq polling
      io_uring: fix io_timeout_remove locking
      io_uring: extend task put optimisations
      io_uring: limit fixed table size by RLIMIT_NOFILE
      io_uring: place fixed tables under memcg limits
      io_uring: add ->splice_fd_in checks
      io_uring: flush completions for fallbacks
      io_uring: batch task work locking
      io_uring: IRQ rw completion batching
      io_uring: fix io_try_cancel_userdata race for iowq
      net: add accept helper not installing fd
      io_uring: openat directly into fixed fd table
      io_uring: hand code io_accept() fd installing
      io_uring: accept directly into fixed file table
      io_uring: add task-refs-get helper
      io_uring: clarify io_req_task_cancel() locking
      io_uring: add build check for buf_index overflows
      io_uring: keep ltimeouts in a list
      io_uring: allow updating linked timeouts

wangyangbo (1):
      io_uring: Add register support for non-4k PAGE_SIZE

 fs/io-wq.c                    |  208 +++--
 fs/io-wq.h                    |    3 +-
 fs/io_uring.c                 | 1767 ++++++++++++++++++++++++-----------------
 include/linux/io_uring.h      |   11 +-
 include/linux/socket.h        |    3 +
 include/uapi/linux/io_uring.h |   18 +-
 kernel/exit.c                 |    2 +-
 net/socket.c                  |   71 +-
 8 files changed, 1227 insertions(+), 856 deletions(-)

-- 
Jens Axboe


             reply	other threads:[~2021-08-30 14:53 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-30 14:53 Jens Axboe [this message]
2021-08-31  2:58 ` [GIT PULL] io_uring updates for 5.15-rc1 pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9ef2a5e9-7380-7e56-7959-b65859ed8f05@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=io-uring@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).