Linux x86_64Memória#216Depreciada
remap_file_pages
Reorganizava páginas dentro de um mapeamento de arquivo sem chamadas mmap adicionais.
Descrição
Otimização de uma época em que o kernel tinha limites baixos no número de VMAs (Virtual Memory Areas) por processo; hoje esses limites não são mais um problema prático e a chamada é desencorajada.
man 2
Depreciada
Deprecada desde o kernel 3.16; a implementação atual é apenas um wrapper lento em torno de mmap/munmap comuns. Não use em código novo.
Assinatura
int remap_file_pages(
void * addr,
size_t size,
int prot,
size_t pgoff,
int flags
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| addr | void * | Início da região dentro de um mapeamento existente. |
| size | size_t | Tamanho da região. |
| prot | int | Ignorado desde a depreciação — mantido apenas por compatibilidade de assinatura. |
| pgoff | size_t | Novo deslocamento de página dentro do arquivo mapeado. |
| flags | int | Ignorado desde a depreciação. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | addrvoid * |
| rsi | argumento 2 | sizesize_t |
| rdx | argumento 3 | protint |
| r10 | argumento 4 | pgoffsize_t |
| r8 | argumento 5 | flagsint |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EINVAL(22)
- Argumento inválido.