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? -- Jens Axboe