io_uring: signal SQPOLL task_work with TWA_SIGNAL_NO_IPI
Before SQPOLL was transitioned to managing its own task_work, the core
used TWA_SIGNAL_NO_IPI to ensure that task_work was processed. If not,
we can't be sure that all task_work is processed at SQPOLL thread exit
time.
Fixes: af5d68f889
("io_uring/sqpoll: manage task_work privately")
Cc: stable@vger.kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
26b97668e5
commit
dbcabac138
@ -1259,8 +1259,8 @@ static void io_req_normal_work_add(struct io_kiocb *req)
|
|||||||
if (ctx->flags & IORING_SETUP_SQPOLL) {
|
if (ctx->flags & IORING_SETUP_SQPOLL) {
|
||||||
struct io_sq_data *sqd = ctx->sq_data;
|
struct io_sq_data *sqd = ctx->sq_data;
|
||||||
|
|
||||||
if (wq_has_sleeper(&sqd->wait))
|
if (sqd->thread)
|
||||||
wake_up(&sqd->wait);
|
__set_notify_signal(sqd->thread);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user