History

Merge tag 'for-6.1/io_uring-2022-10-03' of git://git.kernel.dk/linux

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 ...

Linus Torvalds committed 4 years ago

Commit 0a78a372 parents 188943a 108893d30 files · +859 −326Browse files

Showing the changes to include/uapi/linux (1 of 30 files). Show all

Unified · Split

include/uapi/linux/io_uring.h+8−0
@@ -157,6 +157,13 @@ enum { · 156 unmodified lines
157 */157 */
158#define IORING_SETUP_SINGLE_ISSUER (1U << 12)158#define IORING_SETUP_SINGLE_ISSUER (1U << 12)
159 159
160/*
161 * Defer running task work to get events.
162 * Rather than running bits of task work whenever the task transitions
163 * try to do it just before it is needed.
164 */
165#define IORING_SETUP_DEFER_TASKRUN (1U << 13)
166
160enum io_uring_op {167enum io_uring_op {
161 IORING_OP_NOP,168 IORING_OP_NOP,
162 IORING_OP_READV,169 IORING_OP_READV,
@@ -206,6 +213,7 @@ enum io_uring_op { · 43 unmodified lines
206 IORING_OP_SOCKET,213 IORING_OP_SOCKET,
207 IORING_OP_URING_CMD,214 IORING_OP_URING_CMD,
208 IORING_OP_SEND_ZC,215 IORING_OP_SEND_ZC,
216 IORING_OP_SENDMSG_ZC,
209 217
210 /* this goes last, obviously */218 /* this goes last, obviously */
211 IORING_OP_LAST,219 IORING_OP_LAST,