io_uring: separate task_work/waiting cache line
authorPavel Begunkov <asml.silence@gmail.com>
Thu, 24 Aug 2023 22:53:35 +0000 (23:53 +0100)
committerJens Axboe <axboe@kernel.dk>
Thu, 24 Aug 2023 23:16:20 +0000 (17:16 -0600)
commitc9def23dde5238184777340ad811e4903f216a2d
tree98b5347fab285f7ecb309c2ddd2a992a45ef36bd
parent18df385f42f0b3310ed2e4a3e39264bf5e784692
io_uring: separate task_work/waiting cache line

task_work's are typically queued up from IRQ/softirq potentially by a
random CPU like in case of networking. Batch ctx fields bouncing as this
into a separate cache line.

We also move ->cq_timeouts there because waiters have to read and check
it. We can also conditionally hide ->cq_timeouts in the future from the
CQ wait path as a not really useful rudiment.

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