Provided by: manpages-es_1.55-9_all bug

NOMBRE

       sched_setaffinity,  sched_getaffinity  - establece y obtiene la máscara
       de afinidad de CPU de un proceso

SINOPSIS

       #include <sched.h>

       int  sched_setaffinity(pid_t  pid,  unsigned  int  len,  unsigned  long
       *mask);

       int  sched_getaffinity(pid_t  pid,  unsigned  int  len,  unsigned  long
       *mask);

DESCRIPCIÓN

       sched_setaffinity establece la máscara de afinidad de CPU  del  proceso
       identificado por pid.  Si pid es cero, se asume el proceso en curso.

       La  máscara  de  afinidad  está  representada  por  la  máscara de bits
       almacenada en mask.  El bit menos significativo corresponde  al  número
       del  primer  procesador  lógico  en el sistema, mientras que el bit más
       significativo corresponde al número del último procesador lógico en  el
       sistema.   Un  bit  a  1  se  corresponde  con  una  CPU  legítimamente
       planificable mientras que un bit a 0 se corresponde con una CPU que  no
       es  legítimamente  planificable.  En  otras  palabras,  un proceso está
       ligado y sólo se ejecutará  en  aquellos  procesadores  cuyo  bit  esté
       activo. Normalmente todos los bits de la máscara están activos.

       El  argumento  len representa la longitud de los datos a los que apunta
       mask.  Normalmente este valor  es  el  tamaño  de  una  palabra  en  el
       sistema. Por razones de compatibilidad con futuras versiones del núcleo
       de Linux, puesto que este tamaño puede  cambiar,  la  máscara  de  bits
       proporcionada  debe ser al menos tan grande como la máscara de afinidad
       almacenada en el núcleo.

       La función sched_getaffinity escribe en  el  puntero  proporcionado  en
       mask,  cuyo  tamaño es len, la máscara de afinidad del proceso pid.  Si
       pid es cero, se devuelve la máscara del proceso en curso.

VALOR DEVUELTO

       En caso de éxito,, sched_setaffinity y sched_getaffinity  devuelven  0.
       En  caso  de  error,  se  devuelve -1, y se modifica errno con el valor
       apropiado.

ERRORES

       EFAULT La dirección de memoria proporcionada no es válida.

       ESRCH  No se puede encontrar un proceso con identificador pid.

       EPERM  El proceso invocador no tiene  los  privilegios  apropiados.  El
              proceso   que   llama   a   sched_setaffinity  necesita  que  el
              identificador de usuario efectivo sea igual al identificador  de
              usuario  real  o  efectivo  del  proceso identificado por pid, o
              poseer la capacidad CAP_SYS_NICE.

       EINVAL La máscara de afinidad mask no contiene procesadores  que  estén
              físicamente  en  el sistema o la longitud len es más pequeña que
              el tamaño de la máscara de afinidad usada por el núcleo.