Voltar à lista
Linux x86_64Memória#325

mlock2

Como mlock, mas aceita a flag MLOCK_ONFAULT para travar páginas apenas quando forem efetivamente populadas.

Descrição

Evita travar imediatamente páginas que ainda não foram tocadas (e portanto talvez nem alocadas fisicamente), reduzindo o custo inicial de `mlock` sobre grandes regiões esparsas.

Header: sys/mman.hman 2Desde o kernel 4.4

Assinatura

int mlock2(const void * addr, size_t len, int flags);

Parâmetros

ParâmetroTipoDescrição
addrconst void *Início da região, alinhado ao tamanho de página.
lensize_tTamanho da região.
flagsint0 ou MLOCK_ONFAULT.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1addrconst void *
rsiargumento 2lensize_t
rdxargumento 3flagsint

Valor de retorno

0 em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EINVAL(22)
Argumento inválido.
ENOMEM(12)
Memória insuficiente para completar a operação.
EPERM(1)
Operação não permitida (falta de privilégio).

Relacionadas