io\_uring\_sqring\_wait(3) liburing Manual io\_uring\_sqring\_wait(3)

# [NAME](#NAME)

io\_uring\_sqring\_wait - wait for free space in the SQ ring

# [SYNOPSIS](#SYNOPSIS)

```
#include <liburing.h>
```

```
int io_uring_sqring_wait(struct io_uring *ring);
```

# [DESCRIPTION](#DESCRIPTION)

The function [**io\_uring\_sqring\_wait**(3)](/man/os/liburing/io_uring_sqring_wait.3) allows the caller to wait for space to free up in the SQ ring belonging to the *ring* param, which happens when the kernel side thread has consumed one or more entries. If the SQ ring is currently non-full, no action is taken.

This feature can only be used when the ring has been setup with **IORING\_SETUP\_SQPOLL** and hence is using an offloaded approach to request submissions.

# [RETURN VALUE](#RETURN_VALUE)

On success it returns the free space. If the kernel does not support the feature, -EINVAL is returned.

# [SEE ALSO](#SEE_ALSO)

[**io\_uring\_submit**(3)](/man/os/liburing/io_uring_submit.3), [**io\_uring\_wait\_cqe**(3)](/man/os/liburing/io_uring_wait_cqe.3), [**io\_uring\_wait\_cqes**(3)](/man/os/liburing/io_uring_wait_cqes.3)

January 25, 2022 liburing-2.1

---

Document: io_uring_sqring_wait(3) from liburing 2.15-r5 (Chainguard OS)
Source: https://github.com/axboe/liburing.git
