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

NOMBRE

       sched_setaffinity,  sched_getaffinity  - establece y obtiene la mascara
       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'ON

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

       La  mascara  de  afinidad  esta  representada  por  la  mascara de bits
       almacenada en mask.  El bit menos significativo corresponde  al  numero
       del  primer  procesador  logico  en el sistema, mientras que el bit mas
       significativo corresponde al numero del ultimo procesador logico en  el
       sistema.   Un  bit  a  1  se  corresponde  con  una  CPU  legitimamente
       planificable mientras que un bit a 0 se corresponde con una CPU que  no
       es  legitimamente  planificable.  En  otras  palabras,  un proceso esta
       ligado y solo se ejecutara  en  aquellos  procesadores  cuyo  bit  este
       activo. Normalmente todos los bits de la mascara estan activos.

       El  argumento  len representa la longitud de los datos a los que apunta
       mask.  Normalmente este valor  es  el  tamano  de  una  palabra  en  el
       sistema. Por razones de compatibilidad con futuras versiones del nucleo
       de Linux, puesto que este tamano puede  cambiar,  la  mascara  de  bits
       proporcionada  debe ser al menos tan grande como la mascara de afinidad
       almacenada en el nucleo.

       La funcion sched_getaffinity escribe en  el  puntero  proporcionado  en
       mask,  cuyo  tamano es len, la mascara de afinidad del proceso pid.  Si
       pid es cero, se devuelve la mascara del proceso en curso.

VALOR DEVUELTO

       En caso de exito,, 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 direccion de memoria proporcionada no es valida.

       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 mascara de afinidad mask no contiene procesadores  que  esten
              fisicamente  en  el sistema o la longitud len es mas pequena que
              el tamano de la mascara de afinidad usada por el nucleo.