MCPcopy Create free account
hub / github.com/axboe/liburing / __io_uring_submit

Function __io_uring_submit

src/queue.c:480–499  ·  view source on GitHub ↗

* Submit sqes acquired from io_uring_get_sqe() to the kernel. * * Returns number of sqes submitted */

Source from the content-addressed store, hash-verified

478 * Returns number of sqes submitted
479 */
480static int __io_uring_submit(struct io_uring *ring, unsigned submitted,
481 unsigned wait_nr, bool getevents)
482{
483 bool cq_needs_enter = getevents || wait_nr || cq_ring_needs_enter(ring);
484 unsigned flags = ring_enter_flags(ring);
485 int ret;
486
487 liburing_sanitize_ring(ring);
488
489 if (sq_ring_needs_enter(ring, submitted, &flags) || cq_needs_enter) {
490 if (cq_needs_enter)
491 flags |= IORING_ENTER_GETEVENTS;
492
493 ret = __sys_io_uring_enter(ring->enter_ring_fd, submitted,
494 wait_nr, flags, NULL);
495 } else
496 ret = submitted;
497
498 return ret;
499}
500
501static int __io_uring_submit_and_wait(struct io_uring *ring, unsigned wait_nr)
502{

Callers 2

Calls 5

cq_ring_needs_enterFunction · 0.85
ring_enter_flagsFunction · 0.85
sq_ring_needs_enterFunction · 0.85
liburing_sanitize_ringFunction · 0.70
__sys_io_uring_enterFunction · 0.50

Tested by

no test coverage detected