Lines Matching refs:sq

56 	struct io_uring_sq sq;  member
71 struct io_uring_sq *sq, struct io_uring_cq *cq) in io_uring_mmap() argument
78 sq->ring_sz = p->cq_off.cqes; in io_uring_mmap()
79 sq->ring_sz += p->cq_entries * sizeof(struct io_uring_cqe); in io_uring_mmap()
81 sq->ring_sz = p->sq_off.array; in io_uring_mmap()
82 sq->ring_sz += p->sq_entries * sizeof(unsigned int); in io_uring_mmap()
85 ptr = mmap(0, sq->ring_sz, PROT_READ | PROT_WRITE, in io_uring_mmap()
89 sq->khead = ptr + p->sq_off.head; in io_uring_mmap()
90 sq->ktail = ptr + p->sq_off.tail; in io_uring_mmap()
91 sq->kring_mask = ptr + p->sq_off.ring_mask; in io_uring_mmap()
92 sq->kring_entries = ptr + p->sq_off.ring_entries; in io_uring_mmap()
93 sq->kflags = ptr + p->sq_off.flags; in io_uring_mmap()
94 sq->kdropped = ptr + p->sq_off.dropped; in io_uring_mmap()
96 sq->array = ptr + p->sq_off.array; in io_uring_mmap()
99 sq->sqes = mmap(0, size, PROT_READ | PROT_WRITE, in io_uring_mmap()
101 if (sq->sqes == MAP_FAILED) { in io_uring_mmap()
104 munmap(sq->khead, sq->ring_sz); in io_uring_mmap()
113 munmap(sq->sqes, p->sq_entries * sizeof(struct io_uring_sqe)); in io_uring_mmap()
150 ret = io_uring_mmap(fd, p, &ring->sq, &ring->cq); in io_uring_queue_init_params()
175 struct io_uring_sq *sq = &ring->sq; in io_uring_get_sqe() local
177 if (sq->sqe_tail + 1 - sq->sqe_head > *sq->kring_entries) in io_uring_get_sqe()
179 return &sq->sqes[sq->sqe_tail++ & *sq->kring_mask]; in io_uring_get_sqe()
208 struct io_uring_sq *sq = &ring->sq; in io_uring_submit() local
209 const unsigned int mask = *sq->kring_mask; in io_uring_submit()
214 if (*sq->khead != *sq->ktail) { in io_uring_submit()
215 submitted = *sq->kring_entries; in io_uring_submit()
218 if (sq->sqe_head == sq->sqe_tail) in io_uring_submit()
221 ktail = *sq->ktail; in io_uring_submit()
222 to_submit = sq->sqe_tail - sq->sqe_head; in io_uring_submit()
227 sq->array[ktail++ & mask] = sq->sqe_head++ & mask; in io_uring_submit()
231 sq->sqe_head += to_submit; in io_uring_submit()
238 if (*sq->ktail != ktail) { in io_uring_submit()
240 *sq->ktail = ktail; in io_uring_submit()
251 struct io_uring_sq *sq = &ring->sq; in io_uring_queue_exit() local
253 munmap(sq->sqes, *sq->kring_entries * sizeof(struct io_uring_sqe)); in io_uring_queue_exit()
254 munmap(sq->khead, sq->ring_sz); in io_uring_queue_exit()