Commit e5598d6a authored by Pavel Begunkov's avatar Pavel Begunkov Committed by Jens Axboe

io_uring: compact SQ/CQ heads/tails

Queues heads and tails cache line aligned. That makes sq, cq taking 4
lines or 5 lines if we include the rest of struct io_rings (e.g.
sq_flags is frequently accessed).

Since modern io_uring is mostly single threaded, it doesn't make much
send to spread them as such, it wastes space and puts additional pressure
on caches. Put them all into a single line.
Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/9c8deddf9a7ed32069235a530d1e117fb460bc4c.1692916914.git.asml.silence@gmail.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 093a650b
...@@ -69,8 +69,8 @@ struct io_uring_task { ...@@ -69,8 +69,8 @@ struct io_uring_task {
}; };
struct io_uring { struct io_uring {
u32 head ____cacheline_aligned_in_smp; u32 head;
u32 tail ____cacheline_aligned_in_smp; u32 tail;
}; };
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment