summaryrefslogtreecommitdiffstats
path: root/include/linux/io_uring.h
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2020-10-15 17:38:03 -0600
committerJens Axboe <axboe@kernel.dk>2020-10-17 09:25:46 -0600
commit500a373d731ac506612db12631ec21295c1ff360 (patch)
treee2f3e0f98abb185d1d52765b6ccd4c16558d6727 /include/linux/io_uring.h
parent5c3462cfd123b341c9d3c947c1a2bab373f1697f (diff)
downloadlinux-stable-500a373d731ac506612db12631ec21295c1ff360.tar.gz
linux-stable-500a373d731ac506612db12631ec21295c1ff360.tar.bz2
linux-stable-500a373d731ac506612db12631ec21295c1ff360.zip
io_uring: assign new io_identity for task if members have changed
This avoids doing a copy for each new async IO, if some parts of the io_identity has changed. We avoid reference counting for the normal fast path of nothing ever changing. Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/io_uring.h')
-rw-r--r--include/linux/io_uring.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/io_uring.h b/include/linux/io_uring.h
index bd3346194bca..607d14f61132 100644
--- a/include/linux/io_uring.h
+++ b/include/linux/io_uring.h
@@ -24,7 +24,8 @@ struct io_uring_task {
struct wait_queue_head wait;
struct file *last;
atomic_long_t req_issue;
- struct io_identity identity;
+ struct io_identity __identity;
+ struct io_identity *identity;
/* completion side */
bool in_idle ____cacheline_aligned_in_smp;