Loading io_uring/io_uring.c +10 −21 Original line number Diff line number Diff line Loading @@ -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) Loading Loading
io_uring/io_uring.c +10 −21 Original line number Diff line number Diff line Loading @@ -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) Loading