From: Jens Axboe <[email protected]>
To: Linus Torvalds <[email protected]>
Cc: io-uring <[email protected]>,
"[email protected]" <[email protected]>
Subject: [GIT PULL] io_uring changes for 5.6-rc
Date: Mon, 27 Jan 2020 12:59:02 -0700 [thread overview]
Message-ID: <[email protected]> (raw)
[-- Attachment #1: Type: text/plain, Size: 4857 bytes --]
Hi Linus,
Here are the io_uring changes for 5.6. Note that this is sitting on top
of Al's work.openat2 branch, and was rebased about a week ago as Al
rebased that. So consider this a pre-pull request, ready to go as soon
as you've pulled the work.openat2 stuff from Al.
This pull request contains:
- Support for various new opcodes (fallocate, openat, close, statx,
fadvise, madvise, openat2, non-vectored read/write and send/recv)
- Faster ring quiesce for fileset updates
- Optimizations for overflow condition checking
- Support for max-sized clamping
- Support for probing what opcodes are supported
- Support for io-wq backend sharing between "sibling" rings
- Lots of little fixes and improvements
The pull will throw a small merge conflict, due to the last minute
revert we had before 5.5. Trivial to resolve, attaching my resolution
just for reference.
Please pull!
git://git.kernel.dk/linux-block.git tags/for-5.6/io_uring-vfs-2020-01-27
----------------------------------------------------------------
Jens Axboe (40):
Merge branch 'io_uring-5.5' into for-5.6/io_uring-vfs
io_uring: add support for fallocate()
fs: make build_open_flags() available internally
io_uring: add support for IORING_OP_OPENAT
fs: move filp_close() outside of __close_fd_get_file()
io-wq: add support for uncancellable work
io_uring: add support for IORING_OP_CLOSE
io_uring: avoid ring quiesce for fixed file set unregister and update
fs: make two stat prep helpers available
io_uring: add support for IORING_OP_STATX
io-wq: support concurrent non-blocking work
io_uring: add IOSQE_ASYNC
io_uring: remove two unnecessary function declarations
io_uring: add lookup table for various opcode needs
io_uring: split overflow state into SQ and CQ side
io_uring: improve poll completion performance
io_uring: add non-vectored read/write commands
io_uring: allow use of offset == -1 to mean file position
io_uring: add IORING_OP_FADVISE
mm: make do_madvise() available internally
io_uring: add IORING_OP_MADVISE
io_uring: wrap multi-req freeing in struct req_batch
io_uring: extend batch freeing to cover more cases
io_uring: add support for IORING_SETUP_CLAMP
io_uring: add support for send(2) and recv(2)
io_uring: file set registration should use interruptible waits
io_uring: change io_ring_ctx bool fields into bit fields
io_uring: enable option to only trigger eventfd for async completions
io_uring: add 'struct open_how' to the openat request context
io_uring: remove 'fname' from io_open structure
io_uring: add support for IORING_OP_OPENAT2
io_uring: add opcode to issue trace event
io_uring: account fixed file references correctly in batch
io_uring: add support for probing opcodes
io_uring: file switch work needs to get flushed on exit
io-wq: make the io_wq ref counted
io-wq: add 'id' to io_wq
io-wq: allow lookup of existing io_wq with given id
io_uring: add support for sharing kernel io-wq workqueue
io_uring: don't attempt to copy iovec for READ/WRITE
Pavel Begunkov (18):
io_uring: rename prev to head
io_uring: move *queue_link_head() from common path
pcpu_ref: add percpu_ref_tryget_many()
io_uring: batch getting pcpu references
io_uring: clamp to_submit in io_submit_sqes()
io_uring: optimise head checks in io_get_sqring()
io_uring: optimise commit_sqring() for common case
io_uring: remove extra io_wq_current_is_worker()
io_uring: optimise use of ctx->drain_next
io_uring: remove extra check in __io_commit_cqring
io_uring: hide uring_fd in ctx
io_uring: remove REQ_F_IO_DRAINED
io_uring: optimise sqe-to-req flags translation
io_uring: use labeled array init in io_op_defs
io_uring: prep req when do IOSQE_ASYNC
io_uring: honor IOSQE_ASYNC for linked reqs
io_uring: add comment for drain_next
io_uring: fix refcounting with batched allocations at OOM
YueHaibing (1):
io_uring: Remove unnecessary null check
drivers/android/binder.c | 6 +-
fs/file.c | 6 +-
fs/internal.h | 8 +
fs/io-wq.c | 84 +-
fs/io-wq.h | 13 +-
fs/io_uring.c | 2161 ++++++++++++++++++++++++++++++---------
fs/open.c | 5 +-
fs/stat.c | 34 +-
include/linux/mm.h | 1 +
include/linux/percpu-refcount.h | 26 +-
include/trace/events/io_uring.h | 13 +-
include/uapi/linux/io_uring.h | 62 +-
mm/madvise.c | 7 +-
13 files changed, 1923 insertions(+), 503 deletions(-)
--
Jens Axboe
[-- Attachment #2: merge-fixup --]
[-- Type: text/plain, Size: 1872 bytes --]
commit 9d8bd6fcf0ebfccf39e6ac44df3c41155481030e
Merge: c0007c4f36a7 61cd83d3ade6
Author: Jens Axboe <[email protected]>
Date: Mon Jan 27 12:50:20 2020 -0700
Merge branch 'for-5.6/io_uring-vfs' into ll
* for-5.6/io_uring-vfs: (58 commits)
io_uring: fix refcounting with batched allocations at OOM
io_uring: add comment for drain_next
io_uring: don't attempt to copy iovec for READ/WRITE
io_uring: add support for sharing kernel io-wq workqueue
io-wq: allow lookup of existing io_wq with given id
io-wq: add 'id' to io_wq
io-wq: make the io_wq ref counted
io_uring: honor IOSQE_ASYNC for linked reqs
io_uring: prep req when do IOSQE_ASYNC
io_uring: use labeled array init in io_op_defs
io_uring: optimise sqe-to-req flags translation
io_uring: remove REQ_F_IO_DRAINED
io_uring: file switch work needs to get flushed on exit
io_uring: hide uring_fd in ctx
io_uring: remove extra check in __io_commit_cqring
io_uring: optimise use of ctx->drain_next
io_uring: add support for probing opcodes
io_uring: account fixed file references correctly in batch
io_uring: add opcode to issue trace event
io_uring: add support for IORING_OP_OPENAT2
...
Signed-off-by: Jens Axboe <[email protected]>
diff --cc fs/io_uring.c
index e54556b0fcc6,65fe16a795c1..eeaafbd74259
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@@ -5157,7 -6312,12 +6308,6 @@@ SYSCALL_DEFINE6(io_uring_enter, unsigne
} else if (to_submit) {
struct mm_struct *cur_mm;
- to_submit = min(to_submit, ctx->sq_entries);
- if (current->mm != ctx->sqo_mm ||
- current_cred() != ctx->creds) {
- ret = -EPERM;
- goto out;
- }
-
mutex_lock(&ctx->uring_lock);
/* already have mm, so io_submit_sqes() won't try to grab it */
cur_mm = ctx->sqo_mm;
next reply other threads:[~2020-01-27 19:59 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-27 19:59 Jens Axboe [this message]
2020-01-28 20:04 ` [GIT PULL] io_uring changes for 5.6-rc Jens Axboe
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] \
[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