Lines Matching refs:rings

292 	struct io_rings	*rings;  member
1205 struct io_rings *rings = ctx->rings; in __io_commit_cqring() local
1208 smp_store_release(&rings->cq.tail, ctx->cached_cq_tail); in __io_commit_cqring()
1544 struct io_rings *r = ctx->rings; in io_sqring_full()
1551 struct io_rings *rings = ctx->rings; in io_get_cqring() local
1560 if (tail - READ_ONCE(rings->cq.head) == rings->cq_ring_entries) in io_get_cqring()
1564 return &rings->cqes[tail & ctx->cq_mask]; in io_get_cqring()
1571 if (READ_ONCE(ctx->rings->cq_flags) & IORING_CQ_EVENTFD_DISABLED) in io_should_trigger_evfd()
1593 ctx->rings->sq_flags &= ~IORING_SQ_CQ_OVERFLOW; in io_cqring_mark_overflow()
1628 struct io_rings *rings = ctx->rings; in io_cqring_overflow_flush() local
1637 if ((ctx->cached_cq_tail - READ_ONCE(rings->cq.head) == in io_cqring_overflow_flush()
1638 rings->cq_ring_entries)) in io_cqring_overflow_flush()
1666 WRITE_ONCE(ctx->rings->cq_overflow, in io_cqring_overflow_flush()
1711 WRITE_ONCE(ctx->rings->cq_overflow, ctx->cached_cq_overflow); in __io_cqring_fill_event()
1716 ctx->rings->sq_flags |= IORING_SQ_CQ_OVERFLOW; in __io_cqring_fill_event()
2241 struct io_rings *rings = ctx->rings; in io_cqring_events() local
2257 return ctx->cached_cq_tail - READ_ONCE(rings->cq.head); in io_cqring_events()
2262 struct io_rings *rings = ctx->rings; in io_sqring_entries() local
2265 return smp_load_acquire(&rings->sq.tail) - ctx->cached_sq_head; in io_sqring_entries()
6405 struct io_rings *rings = ctx->rings; in io_commit_sqring() local
6412 smp_store_release(&rings->sq.head, ctx->cached_sq_head); in io_commit_sqring()
6442 WRITE_ONCE(ctx->rings->sq_dropped, ctx->cached_sq_dropped); in io_get_sqe()
6625 ctx->rings->sq_flags |= IORING_SQ_NEED_WAKEUP; in io_ring_set_wakeup_flag()
6632 ctx->rings->sq_flags &= ~IORING_SQ_NEED_WAKEUP; in io_ring_clear_wakeup_flag()
6647 ctx->rings->sq_flags &= ~IORING_SQ_NEED_WAKEUP; in io_sq_wake_function()
6891 struct io_rings *rings = ctx->rings; in io_cqring_wait() local
6933 return READ_ONCE(rings->cq.head) == READ_ONCE(rings->cq.tail) ? ret : 0; in io_cqring_wait()
7940 struct io_rings *rings; in rings_size() local
7943 off = struct_size(rings, cqes, cq_entries); in rings_size()
8309 io_mem_free(ctx->rings); in io_ring_ctx_free()
8372 if (ctx->rings) in io_ring_exit_work()
8392 if (ctx->rings) in io_ring_ctx_wait_and_kill()
8855 ptr = ctx->rings; in io_uring_validate_mmap_request()
9135 struct io_rings *rings; in io_allocate_scq_urings() local
9146 rings = io_mem_alloc(size); in io_allocate_scq_urings()
9147 if (!rings) in io_allocate_scq_urings()
9150 ctx->rings = rings; in io_allocate_scq_urings()
9151 ctx->sq_array = (u32 *)((char *)rings + sq_array_offset); in io_allocate_scq_urings()
9152 rings->sq_ring_mask = p->sq_entries - 1; in io_allocate_scq_urings()
9153 rings->cq_ring_mask = p->cq_entries - 1; in io_allocate_scq_urings()
9154 rings->sq_ring_entries = p->sq_entries; in io_allocate_scq_urings()
9155 rings->cq_ring_entries = p->cq_entries; in io_allocate_scq_urings()
9156 ctx->sq_mask = rings->sq_ring_mask; in io_allocate_scq_urings()
9157 ctx->cq_mask = rings->cq_ring_mask; in io_allocate_scq_urings()
9161 io_mem_free(ctx->rings); in io_allocate_scq_urings()
9162 ctx->rings = NULL; in io_allocate_scq_urings()
9168 io_mem_free(ctx->rings); in io_allocate_scq_urings()
9169 ctx->rings = NULL; in io_allocate_scq_urings()
9357 p->sq_off.array = (char *)ctx->sq_array - (char *)ctx->rings; in io_uring_create()