Hi Linus, io_uring updates for the 5.18-rc1 merge window. This pull request contains: - Fixes for current file position. Still doesn't have the f_pos_lock sorted, but it's a step in the right direction (Dylan) - Tracing updates (Dylan, Stefan) - Improvements to io-wq locking (Hao) - Improvements for provided buffers (me, Pavel) - Support for registered file descriptors (me, Xiaoguang) - Support for ring messages (me) - Poll improvements (me) - Fix for fixed buffers and non-iterator reads/writes (me - Support for NAPI on sockets (Olivier) - Ring quiesce improvements (Usama) - Misc fixes (Olivier, Pavel) Will merge cleanly. Please pull! The following changes since commit ffb217a13a2eaf6d5bd974fc83036a53ca69f1e2: Linux 5.17-rc7 (2022-03-06 14:28:31 -0800) are available in the Git repository at: git://git.kernel.dk/linux-block.git tags/for-5.18/io_uring-2022-03-18 for you to fetch changes up to 5e929367468c8f97cd1ffb0417316cecfebef94b: io_uring: terminate manual loop iterator loop correctly for non-vecs (2022-03-18 11:42:48 -0600) ---------------------------------------------------------------- for-5.18/io_uring-2022-03-18 ---------------------------------------------------------------- Dylan Yudaken (5): io_uring: remove duplicated calls to io_kiocb_ppos io_uring: update kiocb->ki_pos at execution time io_uring: do not recalculate ppos unnecessarily io_uring: documentation fixup io_uring: make tracing format consistent Hao Xu (3): io-wq: decouple work_list protection from the big wqe->lock io-wq: reduce acct->lock crossing functions lock/unlock io-wq: use IO_WQ_ACCT_NR rather than hardcoded number Jens Axboe (15): io_uring: add support for registering ring file descriptors io_uring: speedup provided buffer handling io_uring: add support for IORING_OP_MSG_RING command io_uring: retry early for reads if we can poll io_uring: ensure reads re-import for selected buffers io_uring: recycle provided buffers if request goes async io_uring: allow submissions to continue on error io_uring: remove duplicated member check for io_msg_ring_prep() io_uring: recycle apoll_poll entries io_uring: move req->poll_refs into previous struct hole io_uring: cache req->apoll->events in req->cflags io_uring: cache poll/double-poll state with a request flag io_uring: manage provided buffers strictly ordered io_uring: don't check unrelated req->open.how in accept request io_uring: terminate manual loop iterator loop correctly for non-vecs Nathan Chancellor (1): io_uring: Fix use of uninitialized ret in io_eventfd_register() Olivier Langlois (3): io_uring: Remove unneeded test in io_run_task_work_sig() io_uring: minor io_cqring_wait() optimization io_uring: Add support for napi_busy_poll Pavel Begunkov (8): io_uring: normilise naming for fill_cqe* io_uring: refactor timeout cancellation cqe posting io_uring: extend provided buf return to fails io_uring: fix provided buffer return on failure for kiocb_done() io_uring: remove extra barrier for non-sqpoll iopoll io_uring: shuffle io_eventfd_signal() bits around io_uring: thin down io_commit_cqring() io_uring: fold evfd signalling under a slower path Stefan Roesch (2): io-uring: add __fill_cqe function io-uring: Make tracepoints consistent. Usama Arif (5): io_uring: remove trace for eventfd io_uring: avoid ring quiesce while registering/unregistering eventfd io_uring: avoid ring quiesce while registering async eventfd io_uring: avoid ring quiesce while registering restrictions and enabling rings io_uring: remove ring quiesce for io_uring_register fs/io-wq.c | 114 ++-- fs/io_uring.c | 1251 ++++++++++++++++++++++++++++++--------- include/linux/io_uring.h | 5 +- include/trace/events/io_uring.h | 333 +++++------ include/uapi/linux/io_uring.h | 17 +- 5 files changed, 1200 insertions(+), 520 deletions(-) -- Jens Axboe