On Thu, May 05, 2022 at 12:29:27PM -0600, Jens Axboe wrote: >On 5/5/22 12:20 PM, Jens Axboe wrote: >> On 5/5/22 12:06 AM, Kanchan Joshi wrote: >>> This iteration is against io_uring-big-sqe brach (linux-block). >>> On top of a739b2354 ("io_uring: enable CQE32"). >>> >>> fio testing branch: >>> https://protect2.fireeye.com/v1/url?k=b0d23f72-d1592a52-b0d3b43d-74fe485fb347-02541f801e3b5f5f&q=1&e=ef4bb07a-7707-4854-819c-98abcabb5d2d&u=https%3A%2F%2Fgithub.com%2Fjoshkan%2Ffio%2Ftree%2Fbig-cqe-pt.v4 >> >> I folded in the suggested changes, the branch is here: >> >> https://protect2.fireeye.com/v1/url?k=40e9c3d0-2162d6f0-40e8489f-74fe485fb347-f8e801be1f796980&q=1&e=ef4bb07a-7707-4854-819c-98abcabb5d2d&u=https%3A%2F%2Fgit.kernel.dk%2Fcgit%2Flinux-block%2Flog%2F%3Fh%3Dfor-5.19%2Fio_uring-passthrough >> >> I'll try and run the fio test branch, but please take a look and see what >> you think. > >Tested that fio branch and it works for me with what I had pushed out. >Also tested explicit deferral of requests. Thanks for sorting everything out! I could test this out now only :-( Fio scripts ran fine (post refreshing SQE128/CQE32 flag values;repushed fio). I think these two changes are needed in your branch: 1. since uring-cmd can be without large-cqe, we need to add that condition in io_uring_cmd_done(). This change in patch 1 - diff --git a/fs/io_uring.c b/fs/io_uring.c index 884f40f51536..c24469564ebc 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -4938,7 +4938,10 @@ void io_uring_cmd_done(struct io_uring_cmd *ioucmd, ssize_t ret, ssize_t res2) if (ret < 0) req_set_fail(req); - __io_req_complete32(req, 0, ret, 0, res2, 0); + if (req->ctx->flags & IORING_SETUP_CQE32) + __io_req_complete32(req, 0, ret, 0, res2, 0); + else + io_req_complete(req, ret); } EXPORT_SYMBOL_GPL(io_uring_cmd_done); 2. In the commit-message of patch 1, we should delete last line. i.e. "This operation can be issued only on the ring that is setup with both IORING_SETUP_SQE128 and IORING_SETUP_CQE32 flags." And/or we can move this commit-message of patch 4. You can either take these changes in, or I can respin the series. LMK.