io_uring: remove extra check in __io_commit_cqring
__io_commit_cqring() is almost always called when there is a change in the rings, so the check is rather pessimising. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
711be0312d
commit
0791015837
@ -860,7 +860,6 @@ static void __io_commit_cqring(struct io_ring_ctx *ctx)
|
|||||||
{
|
{
|
||||||
struct io_rings *rings = ctx->rings;
|
struct io_rings *rings = ctx->rings;
|
||||||
|
|
||||||
if (ctx->cached_cq_tail != READ_ONCE(rings->cq.tail)) {
|
|
||||||
/* order cqe stores with ring update */
|
/* order cqe stores with ring update */
|
||||||
smp_store_release(&rings->cq.tail, ctx->cached_cq_tail);
|
smp_store_release(&rings->cq.tail, ctx->cached_cq_tail);
|
||||||
|
|
||||||
@ -869,7 +868,6 @@ static void __io_commit_cqring(struct io_ring_ctx *ctx)
|
|||||||
kill_fasync(&ctx->cq_fasync, SIGIO, POLL_IN);
|
kill_fasync(&ctx->cq_fasync, SIGIO, POLL_IN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
static inline bool io_prep_async_work(struct io_kiocb *req,
|
static inline bool io_prep_async_work(struct io_kiocb *req,
|
||||||
struct io_kiocb **link)
|
struct io_kiocb **link)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user