Commit 6ed368cc authored by Jens Axboe's avatar Jens Axboe
Browse files

io_uring: remove task ref helpers



They are only used right where they are defined, just open-code them
inside io_put_task().

Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent f03baece
Loading
Loading
Loading
Loading
+10 −21
Original line number Diff line number Diff line
@@ -677,30 +677,19 @@ static void io_cqring_do_overflow_flush(struct io_ring_ctx *ctx)
	mutex_unlock(&ctx->uring_lock);
}

/* can be called by any task */
static void io_put_task_remote(struct task_struct *task)
/* must to be called somewhat shortly after putting a request */
static inline void io_put_task(struct task_struct *task)
{
	struct io_uring_task *tctx = task->io_uring;

	if (likely(task == current)) {
		tctx->cached_refs++;
	} else {
		percpu_counter_sub(&tctx->inflight, 1);
		if (unlikely(atomic_read(&tctx->in_cancel)))
			wake_up(&tctx->wait);
		put_task_struct(task);
	}

/* used by a task to put its own references */
static void io_put_task_local(struct task_struct *task)
{
	task->io_uring->cached_refs++;
}

/* must to be called somewhat shortly after putting a request */
static inline void io_put_task(struct task_struct *task)
{
	if (likely(task == current))
		io_put_task_local(task);
	else
		io_put_task_remote(task);
}

void io_task_refs_refill(struct io_uring_task *tctx)