Voltar à lista
Linux x86_64E/S assíncrona & eventos#426

io_uring_enter

Notifica o kernel de novas submissões na fila de uma instância io_uring e/ou aguarda conclusões.

Descrição

Em muitos casos de uso com polling habilitado, esta é a única syscall necessária depois da configuração inicial — e em modo SQPOLL puro, nem ela é sempre necessária.

Header: linux/io_uring.hman 2Desde o kernel 5.1

Assinatura

int io_uring_enter(
    unsigned int fd,
    u32 to_submit,
    u32 min_complete,
    u32 flags,
    sigset_t * sig
);

Parâmetros

ParâmetroTipoDescrição
fdunsigned intDescritor da instância io_uring.
to_submitu32Número de entradas novas na fila de submissão a considerar.
min_completeu32Número mínimo de conclusões a aguardar.
flagsu32IORING_ENTER_GETEVENTS, IORING_ENTER_SQ_WAKEUP, etc.
sigsigset_t *Máscara de sinais opcional para uso atômico durante a espera.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1fdunsigned int
rsiargumento 2to_submitu32
rdxargumento 3min_completeu32
r10argumento 4flagsu32
r8argumento 5sigsigset_t *

Valor de retorno

Número de entradas efetivamente submetidas em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EAGAIN(11)
Recurso temporariamente indisponível (tente novamente); também conhecido como EWOULDBLOCK.
EBADF(9)
Descritor de arquivo inválido.
EBUSY(16)
Dispositivo ou recurso ocupado.
EINVAL(22)
Argumento inválido.
EINTR(4)
Chamada interrompida por um sinal.

Relacionadas