From: Jens Axboe <[email protected]>
To: Linus Torvalds <[email protected]>
Cc: io-uring <[email protected]>
Subject: [GIT PULL] io_uring updates for 5.15-rc1
Date: Mon, 30 Aug 2021 08:53:09 -0600 [thread overview]
Message-ID: <[email protected]> (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
next 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 \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/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