diff options
author | Jens Axboe <axboe@kernel.dk> | 2023-06-02 08:41:46 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-06-02 08:55:37 -0600 |
commit | c92fcfc2bab54451c4f1481755ea244f413455cb (patch) | |
tree | c4a1474020ef5cf5138b5b34c5f35476ce8a1d49 /io_uring/poll.h | |
parent | f026be0e1e881e3395c3d5418ffc8c2a2203c3f3 (diff) | |
download | linux-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/poll.h')
-rw-r--r-- | io_uring/poll.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/io_uring/poll.h b/io_uring/poll.h index b2393b403a2c..ff4d5d753387 100644 --- a/io_uring/poll.h +++ b/io_uring/poll.h @@ -38,3 +38,5 @@ bool io_poll_remove_all(struct io_ring_ctx *ctx, struct task_struct *tsk, bool cancel_all); void io_apoll_cache_free(struct io_cache_entry *entry); + +void io_poll_task_func(struct io_kiocb *req, struct io_tw_state *ts); |