Lines Matching full:rings
202 return ctx->cached_cq_tail - READ_ONCE(ctx->rings->cq.head);
207 return READ_ONCE(ctx->rings->cq.tail) - READ_ONCE(ctx->rings->cq.head);
599 /* IOPOLL rings only need to wake up if it's also SQPOLL */
665 atomic_andnot(IORING_SQ_CQ_OVERFLOW, &ctx->rings->sq_flags);
672 if (ctx->rings)
725 struct io_rings *r = ctx->rings;
738 atomic_or(IORING_SQ_CQ_OVERFLOW, &ctx->rings->sq_flags);
781 struct io_uring_cqe *cqe = &ctx->rings->cqes[off];
799 struct io_rings *rings = ctx->rings;
834 ctx->cqe_cached = &rings->cqes[off];
1121 atomic_andnot(IORING_SQ_TASKRUN, &ctx->rings->sq_flags);
1294 atomic_or(IORING_SQ_TASKRUN, &ctx->rings->sq_flags);
1319 atomic_or(IORING_SQ_TASKRUN, &ctx->rings->sq_flags);
1365 atomic_or(IORING_SQ_TASKRUN, &ctx->rings->sq_flags);
1400 atomic_andnot(IORING_SQ_TASKRUN, &ctx->rings->sq_flags);
2368 struct io_rings *rings = ctx->rings;
2375 smp_store_release(&rings->sq.head, ctx->cached_sq_head);
2395 WRITE_ONCE(ctx->rings->sq_dropped,
2396 READ_ONCE(ctx->rings->sq_dropped) + 1);
2533 if (iowq->cq_min_tail != READ_ONCE(ctx->rings->cq.tail))
2646 struct io_rings *rings = ctx->rings;
2668 iowq.cq_tail = READ_ONCE(ctx->rings->cq.head) + min_events;
2669 iowq.cq_min_tail = READ_ONCE(ctx->rings->cq.tail);
2705 READ_ONCE(ctx->rings->cq.tail);
2764 return READ_ONCE(rings->cq.head) == READ_ONCE(rings->cq.tail) ? ret : 0;
2771 ctx->rings = NULL;
2778 struct io_rings *rings;
2781 off = struct_size(rings, cqes, cq_entries);
3105 * if we're exiting a ton of rings at the same time. It just adds
3200 if (!ctx->rings)
3207 * Cancels requests of all rings, not only @ctx, but
3598 struct io_rings *rings;
3620 ctx->rings = rings = io_region_get_ptr(&ctx->ring_region);
3623 ctx->sq_array = (u32 *)((char *)rings + sq_array_offset);
3624 rings->sq_ring_mask = p->sq_entries - 1;
3625 rings->cq_ring_mask = p->cq_entries - 1;
3626 rings->sq_ring_entries = p->sq_entries;
3627 rings->cq_ring_entries = p->cq_entries;
3680 /* There is no way to mmap rings without a real fd */
3863 p->sq_off.array = (char *)ctx->sq_array - (char *)ctx->rings;