io_uring: remove unnecessary barrier after unsetting IORING_SQ_NEED_WAKEUP
authorStefan Bühler <source@stbuehler.de>
Wed, 24 Apr 2019 21:54:22 +0000 (23:54 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 30 Apr 2019 15:40:02 +0000 (09:40 -0600)
There is no operation to order with afterwards, and removing the flag is
not critical in any way.

There will always be a "race condition" where the application will
trigger IORING_ENTER_SQ_WAKEUP when it isn't actually needed.

Signed-off-by: Stefan Bühler <source@stbuehler.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c

index 2ebc33cc907bfdd34d522f08ab95d49aa451c41b..77b247b5d10b87da5b472c55ecf361247367acc4 100644 (file)
@@ -1969,13 +1969,11 @@ static int io_sq_thread(void *data)
                                finish_wait(&ctx->sqo_wait, &wait);
 
                                ctx->sq_ring->flags &= ~IORING_SQ_NEED_WAKEUP;
-                               smp_wmb();
                                continue;
                        }
                        finish_wait(&ctx->sqo_wait, &wait);
 
                        ctx->sq_ring->flags &= ~IORING_SQ_NEED_WAKEUP;
-                       smp_wmb();
                }
 
                i = 0;