Hi Linus, This is mostly io_uring fixes/tweaks. Most of these were actually done in time for the last -rc, but I wanted to ensure that everything tested out great before including them. The code delta looks larger than it really is, as it's mostly just comment additions/changes. If you exclude that one patch, we're down to: fs/block_dev.c | 3 +- fs/io_uring.c | 130 +++++++++++++++++++++++---------------------------------------- include/linux/uio.h | 2 +- 3 files changed, 51 insertions(+), 84 deletions(-) which looks much more reasonable. Outside of the comment additions/changes, this is mostly removal of unnecessary barriers. In all, this pull request contains: - Tweak to how we handle errors at submission time. We now post a completion event if the error occurs on behalf of an sqe, instead of returning it through the system call. If the error happens outside of a specific sqe, we return the error through the system call. This makes it nicer to use and makes the "normal" use case behave the same as the offload cases. (me) - Fix for a missing req reference drop from async context (me) - If an sqe is submitted with RWF_NOWAIT, don't punt it to async context. Return -EAGAIN directly, instead of using it as a hint to do async punt. (Stefan) - Fix notes on barriers (Stefan) - Remove unnecessary barriers (Stefan) - Fix potential double free of memory in setup error (Mark) - Further improve sq poll CPU validation (Mark) - Fix page allocation warning and leak on buffer registration error (Mark) - Fix iov_iter_type() for new no-ref flag (Ming) - Fix a case where dio doesn't honor bio no-page-ref (Ming) Please pull! git://git.kernel.dk/linux-block.git tags/for-linus-20190502 ---------------------------------------------------------------- Jens Axboe (2): io_uring: have submission side sqe errors post a cqe io_uring: drop req submit reference always in async punt Mark Rutland (3): io_uring: fix SQPOLL cpu validation io_uring: free allocated io_memory once io_uring: avoid page allocation warnings Ming Lei (2): block: fix handling for BIO_NO_PAGE_REF iov_iter: fix iov_iter_type Stefan Bühler (8): io_uring: fix handling SQEs requesting NOWAIT io_uring: fix notes on barriers io_uring: remove unnecessary barrier before wq_has_sleeper io_uring: remove unnecessary barrier before reading cq head io_uring: remove unnecessary barrier after updating SQ head io_uring: remove unnecessary barrier before reading SQ tail io_uring: remove unnecessary barrier after incrementing dropped counter io_uring: remove unnecessary barrier after unsetting IORING_SQ_NEED_WAKEUP fs/block_dev.c | 3 +- fs/io_uring.c | 249 +++++++++++++++++++++++++++++++++------------------- include/linux/uio.h | 2 +- 3 files changed, 161 insertions(+), 93 deletions(-) -- Jens Axboe