Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi Eclipse MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
FORUM LINUX FAQ LINUX TUTORIELS LINUX LIVRES LINUX LINUX TV UNIX GTK+ Qt APACHE

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

sched_setscheduler(2), sched_getscheduler(2), sched_get_priority_max(2), sched_get_priority_min(2), nice(2), setpriority(2), getpriority(2),
sched_setscheduler(2) décrit le fonctionnement de l'ordonnancement sous Linux.

TRADUCTION

Christophe Blaess, 1996-2003.
Responsable bénévole de la rubrique Linux Professionnel : Olivier Van Hoof - Contacter par EMail :
Vos questions techniques : forum d'entraide Linux Professionnel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.