summary refs log tree commit diff
diff options
context:
space:
mode:
authorStefan Bühler <source@stbuehler.de>2019-04-24 23:54:22 +0200
committerJens Axboe <axboe@kernel.dk>2019-04-30 09:40:02 -0600
commit62977281a6384d3904c02272a638cc3ac3bac54d (patch)
treeab763641f1383af43668fd3d501fd606e90cd4ab
parentb841f19524a16cd93a39f9306191f85c549a2bc2 (diff)
downloadlinux-62977281a6384d3904c02272a638cc3ac3bac54d.tar.gz
io_uring: remove unnecessary barrier after unsetting IORING_SQ_NEED_WAKEUP
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>
-rw-r--r--fs/io_uring.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/io_uring.c b/fs/io_uring.c
index 2ebc33cc907b..77b247b5d10b 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -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;