Voltar à lista
Linux x86_64Escalonamento#314

sched_setattr

Versão estendida de sched_setscheduler, com suporte à política SCHED_DEADLINE e outros atributos avançados.

Descrição

Interface extensível (via struct versionada) para configurar escalonamento, incluindo a política SCHED_DEADLINE (escalonamento baseado em prazos, runtime e período — usada em sistemas de tempo real) que não é acessível pela API mais antiga.

Header: sched.hman 2Desde o kernel 3.14

Assinatura

int sched_setattr(pid_t pid, struct sched_attr * attr, unsigned int flags);

Parâmetros

ParâmetroTipoDescrição
pidpid_tPID alvo; 0 significa o chamador.
attrstruct sched_attr *Estrutura versionada com política e atributos (prioridade, runtime, deadline, period).
flagsunsigned intReservado; deve ser 0.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1pidpid_t
rsiargumento 2attrstruct sched_attr *
rdxargumento 3flagsunsigned int

Valor de retorno

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

Códigos de erro (errno)

EBUSY(16)
Dispositivo ou recurso ocupado.
EINVAL(22)
Argumento inválido.
EPERM(1)
Operação não permitida (falta de privilégio).
ESRCH(3)
Processo inexistente.
E2BIG(7)
Lista de argumentos grande demais.

Relacionadas