mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-05 13:51:52 +00:00
io_uring: make io_cqring_events() take 'ctx' as argument
The rings can be derived from the ctx, and we need the ctx there for a future change. No functional changes in this patch. Reviewed-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
2665abfd75
commit
84f97dc233
1 changed files with 6 additions and 4 deletions
|
@ -866,8 +866,10 @@ static void io_put_req(struct io_kiocb *req, struct io_kiocb **nxtptr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned io_cqring_events(struct io_rings *rings)
|
static unsigned io_cqring_events(struct io_ring_ctx *ctx)
|
||||||
{
|
{
|
||||||
|
struct io_rings *rings = ctx->rings;
|
||||||
|
|
||||||
/* See comment at the top of this file */
|
/* See comment at the top of this file */
|
||||||
smp_rmb();
|
smp_rmb();
|
||||||
return READ_ONCE(rings->cq.tail) - READ_ONCE(rings->cq.head);
|
return READ_ONCE(rings->cq.tail) - READ_ONCE(rings->cq.head);
|
||||||
|
@ -1023,7 +1025,7 @@ static int __io_iopoll_check(struct io_ring_ctx *ctx, unsigned *nr_events,
|
||||||
* If we do, we can potentially be spinning for commands that
|
* If we do, we can potentially be spinning for commands that
|
||||||
* already triggered a CQE (eg in error).
|
* already triggered a CQE (eg in error).
|
||||||
*/
|
*/
|
||||||
if (io_cqring_events(ctx->rings))
|
if (io_cqring_events(ctx))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -3076,7 +3078,7 @@ static inline bool io_should_wake(struct io_wait_queue *iowq)
|
||||||
* started waiting. For timeouts, we always want to return to userspace,
|
* started waiting. For timeouts, we always want to return to userspace,
|
||||||
* regardless of event count.
|
* regardless of event count.
|
||||||
*/
|
*/
|
||||||
return io_cqring_events(ctx->rings) >= iowq->to_wait ||
|
return io_cqring_events(ctx) >= iowq->to_wait ||
|
||||||
atomic_read(&ctx->cq_timeouts) != iowq->nr_timeouts;
|
atomic_read(&ctx->cq_timeouts) != iowq->nr_timeouts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3111,7 +3113,7 @@ static int io_cqring_wait(struct io_ring_ctx *ctx, int min_events,
|
||||||
struct io_rings *rings = ctx->rings;
|
struct io_rings *rings = ctx->rings;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
if (io_cqring_events(rings) >= min_events)
|
if (io_cqring_events(ctx) >= min_events)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (sig) {
|
if (sig) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue