提交 543fc5fe 编写于 作者: P Pavel Begunkov 提交者: Joseph Qi

io_uring: simplify io_req_link_next()

to #26323578

commit b18fdf71e01fba29a804d63f8c1e2ed61011170d upstream.

"if (nxt)" is always true, as it was checked in the while's condition.
io_wq_current_is_worker() is unnecessary, as non-async callers don't
pass nxt, so io_queue_async_work() will be called for them anyway.
Signed-off-by: NPavel Begunkov <asml.silence@gmail.com>
Signed-off-by: NJens Axboe <axboe@kernel.dk>
Signed-off-by: NJoseph Qi <joseph.qi@linux.alibaba.com>
Acked-by: NXiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
上级 5ecc65f5
......@@ -908,16 +908,7 @@ static void io_req_link_next(struct io_kiocb *req, struct io_kiocb **nxtptr)
nxt->flags |= REQ_F_LINK;
}
/*
* If we're in async work, we can continue processing the chain
* in this context instead of having to queue up new async work.
*/
if (nxt) {
if (io_wq_current_is_worker())
*nxtptr = nxt;
else
io_queue_async_work(nxt);
}
*nxtptr = nxt;
break;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册