From: Pavel Begunkov Date: Fri, 17 Jan 2020 00:52:46 +0000 (+0300) Subject: io_uring: remove extra check in __io_commit_cqring X-Git-Tag: v5.15~4609^2~20 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0791015837f1520dd72918355dcb1f1e79175255;p=platform%2Fkernel%2Flinux-starfive.git 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 Signed-off-by: Jens Axboe --- diff --git a/fs/io_uring.c b/fs/io_uring.c index 68843a1..771954b 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -860,14 +860,12 @@ static void __io_commit_cqring(struct io_ring_ctx *ctx) { struct io_rings *rings = ctx->rings; - if (ctx->cached_cq_tail != READ_ONCE(rings->cq.tail)) { - /* order cqe stores with ring update */ - smp_store_release(&rings->cq.tail, ctx->cached_cq_tail); + /* order cqe stores with ring update */ + smp_store_release(&rings->cq.tail, ctx->cached_cq_tail); - if (wq_has_sleeper(&ctx->cq_wait)) { - wake_up_interruptible(&ctx->cq_wait); - kill_fasync(&ctx->cq_fasync, SIGIO, POLL_IN); - } + if (wq_has_sleeper(&ctx->cq_wait)) { + wake_up_interruptible(&ctx->cq_wait); + kill_fasync(&ctx->cq_fasync, SIGIO, POLL_IN); } }