Linux x86_64Escalonamento#204
sched_getaffinity
Consulta a máscara de afinidade de CPU atual de um processo.
Descrição
Contraparte de leitura de `sched_setaffinity`.
Header:
sched.hman 2Assinatura
int sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t * mask);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| pid | pid_t | PID alvo; 0 significa o chamador. |
| cpusetsize | size_t | Tamanho em bytes do buffer `mask`. |
| mask | cpu_set_t * | Recebe o conjunto de CPUs permitidas. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | pidpid_t |
| rsi | argumento 2 | cpusetsizesize_t |
| rdx | argumento 3 | maskcpu_set_t * |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EFAULT(14)
- Endereço de memória inválido (ponteiro fora do espaço de endereçamento válido).
- EINVAL(22)
- Argumento inválido.
- EPERM(1)
- Operação não permitida (falta de privilégio).
- ESRCH(3)
- Processo inexistente.