在 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