On 6/17/22 8:34 AM, Hao Xu wrote: > On 6/17/22 22:23, Jens Axboe wrote: >> On 6/17/22 8:12 AM, Hao Xu wrote: >>> From: Hao Xu <howeyxu@xxxxxxxxxxx> >>> >>> Now that we use centralized completion in io_issue_sqe, we should skip >>> that for multishot accept requests since we complete them in the >>> specific op function. >>> >>> Fixes: 34106529422e ("io_uring: never defer-complete multi-apoll") >>> Signed-off-by: Hao Xu <howeyxu@xxxxxxxxxxx> >>> --- >>> >>> I retrieved the history: >>> >>> in 4e86a2c98013 ("io_uring: implement multishot mode for accept") >>> we add the multishot accept, it repeatly completes cqe in io_accept() >>> until get -EAGAIN [1], then it returns 0 to io_issue_sqe(). >>> io_issue_sqe() does nothing to it then. >>> >>> in 09eaa49e078c ("io_uring: handle completions in the core") >>> we add __io_req_complete() for IOU_OK in io_issue_sqe(). This causes at >>> [1], we do call __io_req_complete().But since IO_URING_F_COMPLETE_DEFER >>> is set, it does nothing. >>> >>> in 34106529422e ("io_uring: never defer-complete multi-apoll") >>> we remove IO_URING_F_COMPLETE_DEFER, but unluckily the multishot accept >>> test is broken, we didn't find the error. >>> >>> So it just has infuence to for-5.20, I'll update the liburing test >>> today. >> >> Do you mind if I fold this into: >> >> 09eaa49e078c ("io_uring: handle completions in the core") >> >> as I'm continually rebasing the 5.20 branch until 5.19 is fully sorted? >> > > Please do, that is better. Done, thanks. -- Jens Axboe