Seems this series can also resolve a possible deadlock case I'm looking into. 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 Thanks, Joseph On 1/20/21 10:32 AM, Pavel Begunkov wrote: > Carefully remove leftovers from removing cancellations by files > > Pavel Begunkov (3): > io_uring: remove cancel_files and inflight tracking > io_uring: cleanup iowq cancellation files matching > io_uring: don't pass files for cancellation > > fs/io_uring.c | 168 ++++++++++---------------------------------------- > 1 file changed, 32 insertions(+), 136 deletions(-) >