Commit edecf168 authored by Jens Axboe's avatar Jens Axboe

io_uring: enable io_mem_alloc/free to be used in other parts

In preparation for using these helpers, make them non-static and add
them to our internal header.
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 6f007b14
...@@ -2666,7 +2666,7 @@ static int io_cqring_wait(struct io_ring_ctx *ctx, int min_events, ...@@ -2666,7 +2666,7 @@ static int io_cqring_wait(struct io_ring_ctx *ctx, int min_events,
return READ_ONCE(rings->cq.head) == READ_ONCE(rings->cq.tail) ? ret : 0; return READ_ONCE(rings->cq.head) == READ_ONCE(rings->cq.tail) ? ret : 0;
} }
static void io_mem_free(void *ptr) void io_mem_free(void *ptr)
{ {
if (!ptr) if (!ptr)
return; return;
...@@ -2778,7 +2778,7 @@ static void io_rings_free(struct io_ring_ctx *ctx) ...@@ -2778,7 +2778,7 @@ static void io_rings_free(struct io_ring_ctx *ctx)
} }
} }
static void *io_mem_alloc(size_t size) void *io_mem_alloc(size_t size)
{ {
gfp_t gfp = GFP_KERNEL_ACCOUNT | __GFP_ZERO | __GFP_NOWARN | __GFP_COMP; gfp_t gfp = GFP_KERNEL_ACCOUNT | __GFP_ZERO | __GFP_NOWARN | __GFP_COMP;
void *ret; void *ret;
......
...@@ -86,6 +86,9 @@ bool __io_alloc_req_refill(struct io_ring_ctx *ctx); ...@@ -86,6 +86,9 @@ bool __io_alloc_req_refill(struct io_ring_ctx *ctx);
bool io_match_task_safe(struct io_kiocb *head, struct task_struct *task, bool io_match_task_safe(struct io_kiocb *head, struct task_struct *task,
bool cancel_all); bool cancel_all);
void *io_mem_alloc(size_t size);
void io_mem_free(void *ptr);
#if defined(CONFIG_PROVE_LOCKING) #if defined(CONFIG_PROVE_LOCKING)
static inline void io_lockdep_assert_cq_locked(struct io_ring_ctx *ctx) static inline void io_lockdep_assert_cq_locked(struct io_ring_ctx *ctx)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment