io_uring: move defer_list to slow data
authorPavel Begunkov <asml.silence@gmail.com>
Wed, 15 Jun 2022 16:33:48 +0000 (17:33 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 25 Jul 2022 00:39:12 +0000 (18:39 -0600)
draining is slow path, move defer_list to the end where slow data lives
inside the context.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/e16379391ca72b490afdd24e8944baab849b4a7b.1655310733.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/io_uring_types.h

index fb87af5..ee58273 100644 (file)
@@ -162,7 +162,6 @@ struct io_ring_ctx {
                struct io_uring_sqe     *sq_sqes;
                unsigned                cached_sq_head;
                unsigned                sq_entries;
-               struct list_head        defer_list;
 
                /*
                 * Fixed resources fast path, should be accessed only under
@@ -274,8 +273,12 @@ struct io_ring_ctx {
                struct work_struct              exit_work;
                struct list_head                tctx_list;
                struct completion               ref_comp;
+
+               /* io-wq management, e.g. thread count */
                u32                             iowq_limits[2];
                bool                            iowq_limits_set;
+
+               struct list_head                defer_list;
        };
 };