SCHED_SETAFFINITY
Section: Manuel du programmeur Linux (2) Updated: 18 juillet 2003 Index
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
HISTORIQUE
VOIR AUSSI
TRADUCTION
sched_setaffinity, sched_getaffinity - set and get a process's CPU affinity
mask
SYNOPSIS
#include <sched.h>
int sched_setaffinity(pid_t pid, unsigned int lg, unsigned long *masque);
int sched_getaffinity(pid_t pid, unsigned int lg, unsigned long *masque);
DESCRIPTION
sched_setaffinity
fixe le masque des préférences du processus
pid
vis-à-vis du CPU.
Si
pid
vaut zéro, il s'agit du processus appelant.
Les préférences sont représentées par les bits stockées dans le
masque.
Le bit de moindre poid représente le numéro logique du premier processeur, tandis
que le bit de poid le plus fort représent le numéro de dernier processeur.
Un bit activé correspond à un processeur utilisable pour l'ordonnancement
alors qu'un bit inhibé représent un processeur refuse. En d'autres terme,
le processus est attaché et ne s'exécutera que sur les processeurs dont
les bits sont activés. D'habitude tous les bits du masque sont validés.
L'argument
lg
représente la longueur des données pointées par le
masque.
Normalement, il s'agit de la taille d'un mot du système. Pour assurer la
compatibilités avec les futurs noyaux Linux, comme cette taille peut varier,
le masque fourni doit être au moins aussi grand que le masque d'affinité
stocké dans le noyau.
La fonction
sched_getaffinity
écrit dans la zone pointée par
masque
(dont la taille est
lg)
le masque de préférences du processus
pid.
Si
pid
vaut zéro, le masque du processus en cours est renvoyé.
VALEUR RENVOYÉE
S'ils réussissent
sched_setaffinity
et
sched_getaffinity
renvoient tous deux zéro.
S'ils échouent, ils renvoient -1 et
errno
sera rempli avec le code d'erreur.
ERREURS
- EFAULT
-
Une adresse mémoire est invalide.
- ESRCH
-
Impossible de trouver le processus du pid indiqué.
- EPERM
-
Le processus appelant n'a pas les privilèges appropriés. Le processus qui
invoque
sched_setaffinity
doit avoir un UID effectif égal à l'UID effectif ou réel du
processus identifié par
pid,
ou avoir la capacité
CAP_SYS_NICE.
- EINVAL
-
Le
masque
des préférences ne contient pas de processeurs présents sur le système, ou
lg
est plus petit que la taille du masque d'affinité utilisé par le noyau.
HISTORIQUE
Les appels-système d'affinité ont été introduit dans Linux 2.5.8.
VOIR AUSSI
TRADUCTION
Christophe Blaess, 1996-2003.
|