Linux x86_64Memória#323
userfaultfd
Cria um descritor de arquivo que recebe notificações de page faults em regiões de memória monitoradas, tratáveis em espaço de usuário.
Descrição
Permite que um processo em espaço de usuário implemente sua própria lógica de tratamento de falta de página — usado por hipervisores de máquina virtual para live migration (pré-copiar páginas sob demanda) e por runtimes de linguagem para implementar coletores de lixo com moving GC.
Header:
linux/userfaultfd.hman 2Desde o kernel 4.3Assinatura
int userfaultfd(int flags);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| flags | int | O_CLOEXEC, O_NONBLOCK, UFFD_USER_MODE_ONLY. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | flagsint |
Valor de retorno
Um novo descritor de arquivo 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).