On 1/23/21 5:49 AM, Pavel Begunkov wrote: > On 22/01/2021 09:45, Joseph Qi wrote: >> Seems this series can also resolve a possible deadlock case I'm looking >> into. > > It removes dead code, I believe your issue is solved by > ("io_uring: get rid of intermediate IORING_OP_CLOSE stage") > https://git.kernel.dk/cgit/linux-block/commit/?h=for-5.12/io_uring&id=7be8ba3b656cb4e0158b2c859b949f34a96aa94f > I've tested the above commit and the mentioned possible deadlock still exists. > Did you try this series in particular, or tested for-5.12/io_uring > and see that the issue is gone there? > I don't have this tree locally and it takes too long to clone it down. Will check once it is ready. Thanks, Joseph >> CPU0: >> ... >> io_kill_linked_timeout // &ctx->completion_lock >> io_commit_cqring >> __io_queue_deferred >> __io_queue_async_work >> io_wq_enqueue >> io_wqe_enqueue // &wqe->lock >> >> CPU1: >> ... >> __io_uring_files_cancel >> io_wq_cancel_cb >> io_wqe_cancel_pending_work // &wqe->lock >> io_cancel_task_cb // &ctx->completion_lock >>