Lines Matching refs:sq

108 	struct io_uring_sq sq;  member
169 struct io_uring_sq *sq, struct io_uring_cq *cq) in io_uring_mmap() argument
175 sq->ring_sz = p->sq_off.array + p->sq_entries * sizeof(unsigned); in io_uring_mmap()
176 ptr = mmap(0, sq->ring_sz, PROT_READ | PROT_WRITE, in io_uring_mmap()
180 sq->khead = ptr + p->sq_off.head; in io_uring_mmap()
181 sq->ktail = ptr + p->sq_off.tail; in io_uring_mmap()
182 sq->kring_mask = ptr + p->sq_off.ring_mask; in io_uring_mmap()
183 sq->kring_entries = ptr + p->sq_off.ring_entries; in io_uring_mmap()
184 sq->kflags = ptr + p->sq_off.flags; in io_uring_mmap()
185 sq->kdropped = ptr + p->sq_off.dropped; in io_uring_mmap()
186 sq->array = ptr + p->sq_off.array; in io_uring_mmap()
189 sq->sqes = mmap(0, size, PROT_READ | PROT_WRITE, in io_uring_mmap()
191 if (sq->sqes == MAP_FAILED) { in io_uring_mmap()
194 munmap(sq->khead, sq->ring_sz); in io_uring_mmap()
203 munmap(sq->sqes, p->sq_entries * sizeof(struct io_uring_sqe)); in io_uring_mmap()
228 ret = io_uring_mmap(fd, &p, &ring->sq, &ring->cq); in io_uring_queue_init()
238 struct io_uring_sq *sq = &ring->sq; in io_uring_submit() local
239 const unsigned mask = *sq->kring_mask; in io_uring_submit()
244 if (*sq->khead != *sq->ktail) { in io_uring_submit()
245 submitted = *sq->kring_entries; in io_uring_submit()
248 if (sq->sqe_head == sq->sqe_tail) in io_uring_submit()
251 ktail = *sq->ktail; in io_uring_submit()
252 to_submit = sq->sqe_tail - sq->sqe_head; in io_uring_submit()
255 sq->array[ktail++ & mask] = sq->sqe_head++ & mask; in io_uring_submit()
260 if (*sq->ktail != ktail) { in io_uring_submit()
262 *sq->ktail = ktail; in io_uring_submit()
293 struct io_uring_sq *sq = &ring->sq; in io_uring_get_sqe() local
295 if (sq->sqe_tail + 1 - sq->sqe_head > *sq->kring_entries) in io_uring_get_sqe()
297 return &sq->sqes[sq->sqe_tail++ & *sq->kring_mask]; in io_uring_get_sqe()