if (sqd->thread)
io_uring_cancel_sqpoll(sqd);
list_del_init(&work->ctx->sqd_list);
+ io_sqd_update_thread_idle(sqd);
complete(&work->completion);
}
struct task_struct *task;
io_sq_thread_park(sqd);
- io_sqd_update_thread_idle(sqd);
task = sqd->thread;
if (task) {
init_completion(&work.completion);
wake_up_process(task);
} else {
list_del_init(&ctx->sqd_list);
+ io_sqd_update_thread_idle(sqd);
}
io_sq_thread_unpark(sqd);