OSDN Git Service

io_uring: Create define to modify a SQPOLL parameter
authorOlivier Langlois <olivier@trillion01.com>
Wed, 23 Jun 2021 18:50:18 +0000 (11:50 -0700)
committerJens Axboe <axboe@kernel.dk>
Thu, 24 Jun 2021 02:38:21 +0000 (20:38 -0600)
The magic number used to cap the number of entries extracted from an
io_uring instance SQ before moving to the other instances is an
interesting parameter to experiment with.

A define has been created to make it easy to change its value from a
single location.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Reviewed-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/b401640063e77ad3e9f921e09c9b3ac10a8bb923.1624473200.git.olivier@trillion01.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c

index 7c545fa..e7997f9 100644 (file)
@@ -89,6 +89,7 @@
 
 #define IORING_MAX_ENTRIES     32768
 #define IORING_MAX_CQ_ENTRIES  (2 * IORING_MAX_ENTRIES)
+#define IORING_SQPOLL_CAP_ENTRIES_VALUE 8
 
 /*
  * Shift of 9 is 512 entries, or exactly one page on 64-bit archs
@@ -6797,8 +6798,8 @@ static int __io_sq_thread(struct io_ring_ctx *ctx, bool cap_entries)
 
        to_submit = io_sqring_entries(ctx);
        /* if we're handling multiple rings, cap submit size for fairness */
-       if (cap_entries && to_submit > 8)
-               to_submit = 8;
+       if (cap_entries && to_submit > IORING_SQPOLL_CAP_ENTRIES_VALUE)
+               to_submit = IORING_SQPOLL_CAP_ENTRIES_VALUE;
 
        if (!list_empty(&ctx->iopoll_list) || to_submit) {
                unsigned nr_events = 0;