Provided by: manpages-es_1.55-10_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.