On 12/6/22 8:53?PM, Pavel Begunkov wrote: > @@ -43,6 +61,15 @@ static int io_msg_ring_data(struct io_kiocb *req) > if (msg->src_fd || msg->dst_fd || msg->flags) > return -EINVAL; > > + if (target_ctx->task_complete && current != target_ctx->submitter_task) { > + init_task_work(&msg->tw, io_msg_tw_complete); > + if (task_work_add(target_ctx->submitter_task, &msg->tw, > + TWA_SIGNAL)) > + return -EOWNERDEAD; > + > + return IOU_ISSUE_SKIP_COMPLETE; > + } > + We should probably be able to get by with TWA_SIGNAL_NO_IPI here, no? -- Jens Axboe