diff options
author | Jens Axboe <axboe@kernel.dk> | 2022-07-07 14:16:20 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-07-24 18:39:17 -0600 |
commit | 9b797a37c4bd83b03cedcfbd15852b836f5e562c (patch) | |
tree | f01382c4665ad9276dd632b69a8ca9429f26f979 /io_uring/poll.h | |
parent | 9da7471ed10dab52410062be74896a6c0aa1bf3a (diff) | |
download | linux-9b797a37c4bd83b03cedcfbd15852b836f5e562c.tar.gz linux-9b797a37c4bd83b03cedcfbd15852b836f5e562c.tar.bz2 linux-9b797a37c4bd83b03cedcfbd15852b836f5e562c.zip |
io_uring: add abstraction around apoll cache
In preparation for adding limits, and one more user, abstract out the
core bits of the allocation+free cache.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring/poll.h')
-rw-r--r-- | io_uring/poll.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/io_uring/poll.h b/io_uring/poll.h index 95f192c7babb..5f3bae50fc81 100644 --- a/io_uring/poll.h +++ b/io_uring/poll.h @@ -1,5 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 +#include "alloc_cache.h" + enum { IO_APOLL_OK, IO_APOLL_ABORTED, @@ -14,7 +16,10 @@ struct io_poll { }; struct async_poll { - struct io_poll poll; + union { + struct io_poll poll; + struct io_cache_entry cache; + }; struct io_poll *double_poll; }; @@ -31,4 +36,4 @@ int io_arm_poll_handler(struct io_kiocb *req, unsigned issue_flags); bool io_poll_remove_all(struct io_ring_ctx *ctx, struct task_struct *tsk, bool cancel_all); -void io_flush_apoll_cache(struct io_ring_ctx *ctx); +void io_apoll_cache_free(struct io_cache_entry *entry); |