summaryrefslogtreecommitdiffstats
path: root/io_uring/rw.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2023-06-02 08:41:46 -0600
committerJens Axboe <axboe@kernel.dk>2023-06-02 08:55:37 -0600
commitc92fcfc2bab54451c4f1481755ea244f413455cb (patch)
treec4a1474020ef5cf5138b5b34c5f35476ce8a1d49 /io_uring/rw.c
parentf026be0e1e881e3395c3d5418ffc8c2a2203c3f3 (diff)
downloadlinux-c92fcfc2bab54451c4f1481755ea244f413455cb.tar.gz
linux-c92fcfc2bab54451c4f1481755ea244f413455cb.tar.bz2
linux-c92fcfc2bab54451c4f1481755ea244f413455cb.zip
io_uring: avoid indirect function calls for the hottest task_work
We use task_work for a variety of reasons, but doing completions or triggering rety after poll are by far the hottest two. Use the indirect funtion call wrappers to avoid the indirect function call if CONFIG_RETPOLINE is set. Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring/rw.c')
-rw-r--r--io_uring/rw.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/io_uring/rw.c b/io_uring/rw.c
index 3f118ed46e4f..c23d8baf0287 100644
--- a/io_uring/rw.c
+++ b/io_uring/rw.c
@@ -283,7 +283,7 @@ static inline int io_fixup_rw_res(struct io_kiocb *req, long res)
return res;
}
-static void io_req_rw_complete(struct io_kiocb *req, struct io_tw_state *ts)
+void io_req_rw_complete(struct io_kiocb *req, struct io_tw_state *ts)
{
io_req_io_end(req);