Patch "io_uring/napi: check napi_enabled in io_napi_add() before proceeding" has been added to the 6.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    io_uring/napi: check napi_enabled in io_napi_add() before proceeding

to the 6.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     io_uring-napi-check-napi_enabled-in-io_napi_add-befo.patch
and it can be found in the queue-6.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 02a6f0f691fb348c711a1a96fa0ece6bccf27967
Author: Olivier Langlois <olivier@xxxxxxxxxxxxxx>
Date:   Sun Aug 11 14:07:11 2024 -0400

    io_uring/napi: check napi_enabled in io_napi_add() before proceeding
    
    [ Upstream commit 84f2eecf95018386c145ada19bb45b03bdb80d9e ]
    
    doing so avoids the overhead of adding napi ids to all the rings that do
    not enable napi.
    
    if no id is added to napi_list because napi is disabled,
    __io_napi_busy_loop() will not be called.
    
    Signed-off-by: Olivier Langlois <olivier@xxxxxxxxxxxxxx>
    Fixes: b4ccc4dd1330 ("io_uring/napi: enable even with a timeout of 0")
    Link: https://lore.kernel.org/r/bd989ccef5fda14f5fd9888faf4fefcf66bd0369.1723400131.git.olivier@xxxxxxxxxxxxxx
    Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/io_uring/napi.c b/io_uring/napi.c
index 6bdb267e9c33c..ab5d68d4440c4 100644
--- a/io_uring/napi.c
+++ b/io_uring/napi.c
@@ -311,7 +311,7 @@ void __io_napi_busy_loop(struct io_ring_ctx *ctx, struct io_wait_queue *iowq)
 {
 	iowq->napi_prefer_busy_poll = READ_ONCE(ctx->napi_prefer_busy_poll);
 
-	if (!(ctx->flags & IORING_SETUP_SQPOLL) && ctx->napi_enabled)
+	if (!(ctx->flags & IORING_SETUP_SQPOLL))
 		io_napi_blocking_busy_loop(ctx, iowq);
 }
 
diff --git a/io_uring/napi.h b/io_uring/napi.h
index babbee36cd3eb..341d010cf66bc 100644
--- a/io_uring/napi.h
+++ b/io_uring/napi.h
@@ -55,7 +55,7 @@ static inline void io_napi_add(struct io_kiocb *req)
 	struct io_ring_ctx *ctx = req->ctx;
 	struct socket *sock;
 
-	if (!READ_ONCE(ctx->napi_busy_poll_dt))
+	if (!READ_ONCE(ctx->napi_enabled))
 		return;
 
 	sock = sock_from_file(req->file);




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux