Linux x86_64Arquivos & E/S#187
readahead
Sinaliza ao kernel para pré-carregar um intervalo de um arquivo em cache, de forma assíncrona.
Descrição
Otimização de desempenho: avisa o kernel que uma região do arquivo será lida em breve, permitindo iniciar a leitura de disco antecipadamente e sobrepor I/O com processamento.
man 2Desde o kernel 2.4.13
Assinatura
ssize_t readahead(int fd, off64_t offset, size_t count);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| fd | int | Descritor de arquivo (deve ser posicionável). |
| offset | off64_t | Início do intervalo a pré-carregar. |
| count | size_t | Tamanho do intervalo em bytes. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | fdint |
| rsi | argumento 2 | offsetoff64_t |
| rdx | argumento 3 | countsize_t |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EBADF(9)
- Descritor de arquivo inválido.
- EINVAL(22)
- Argumento inválido.