On 12/10/21 12:31 AM, Hao Xu wrote: > > 在 2021/12/10 下午12:22, Jens Axboe 写道: >> On 12/9/21 8:29 PM, Hao Xu wrote: >>> 在 2021/12/10 上午12:16, Jens Axboe 写道: >>>> If we successfully cancel a work item but that work item needs to be >>>> processed through task_work, then we can be sleeping uninterruptibly >>>> in io_uring_cancel_generic() and never process it. Hence we don't >>>> make forward progress and we end up with an uninterruptible sleep >>>> warning. >>>> >>>> Add the waitqueue earlier to ensure that any wakeups from cancelations >>>> are seen, and switch to using uninterruptible sleep so that postponed >>> ^ typo >> Not really a typo, but should be killed from v2 for sure. I'll do that. >> > Don't know why the ^ char doesn't align with 'uninterruptible' ... here > I mean 'uninterruptible' is a typo Gotcha, I guess the end result is the same as I killed the section on moving the sleep. -- Jens Axboe