Re: [PATCH v2 2/2] io_uring: ensure task_work gets run as part of cancelations
From: Jens Axboe <axboe@kernel.dk>
Date: 2021-12-10 13:45:59
Also in:
io-uring
From: Jens Axboe <axboe@kernel.dk>
Date: 2021-12-10 13:45:59
Also in:
io-uring
On 12/10/21 12:31 AM, Hao Xu wrote:
在 2021/12/10 下午12:22, Jens Axboe 写道:quoted
On 12/9/21 8:29 PM, Hao Xu wrote:quoted
在 2021/12/10 上午12:16, Jens Axboe 写道:quoted
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^ typoNot 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