From: Pavel Begunkov Date: Tue, 27 Oct 2020 23:25:38 +0000 (+0000) Subject: io_uring: rearrange io_kiocb fields for better caching X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0415767e7f0542b3cd1ab270c2e61e90e87aafa2;p=linux.git io_uring: rearrange io_kiocb fields for better caching We've got extra 8 bytes in the 2nd cacheline, put ->fixed_file_refs there, so inline execution path mostly doesn't touch the 3rd cacheline for fixed_file requests as well. Signed-off-by: Pavel Begunkov Signed-off-by: Jens Axboe --- diff --git a/fs/io_uring.c b/fs/io_uring.c index a0a6d13c0c166..b651d6e6d6099 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -713,14 +713,13 @@ struct io_kiocb { u64 user_data; struct io_kiocb *link; + struct percpu_ref *fixed_file_refs; /* * 1. used with ctx->iopoll_list with reads/writes * 2. to track reqs with ->files (see io_op_def::file_table) */ struct list_head inflight_entry; - - struct percpu_ref *fixed_file_refs; struct callback_head task_work; /* for polled requests, i.e. IORING_OP_POLL_ADD and async armed poll */ struct hlist_node hash_node;