---
name: "io_uring_sqring_wait"
section: "3"
platform: "linux"
package: "liburing"
version: "2.15-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/io_uring_sqring_wait"
---

# io\_uring\_sqring\_wait(3)

wait for free space in the SQ ring

## NAME

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

## SYNOPSIS

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

**int io\_uring\_sqring\_wait(struct io\_uring \****ring***);**

## DESCRIPTION

The function [**io\_uring\_sqring\_wait**(3)](/io_uring_sqring_wait/3.md) 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

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

## SEE ALSO

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