NOM¶
pthread_attr_setaffinity_np, pthread_attr_getaffinity_np - Définir ou
obtenir l'attribut d'affinité CPU d'un objet d'attributs de thread
SYNOPSIS¶
#define _GNU_SOURCE /* Consultez feature_test_macros(7) */
#include <pthread.h>
int pthread_attr_setaffinity_np(pthread_attr_t *attr,
size_t cpusetsize, const cpu_set_t *cpuset);
int pthread_attr_getaffinity_np(pthread_attr_t *attr,
size_t cpusetsize, cpu_set_t *cpuset);
Compilez et effectuez l'édition des liens avec l'option -pthread.
DESCRIPTION¶
La fonction
pthread_attr_setaffinity_np() définit l'attribut du
masque d'affinité CPU de l'objet d'attributs de thread auquel
attr fait référence à la valeur indiquée
par
cpuset. Cet attribut détermine le masque d'affinité
CPU d'un thread créé en utilisant l'objet d'attributs de thread
attr.
La fonction
pthread_attr_getaffinity_np() renvoie, dans le tampon
pointé par
cpuset, l'attribut du masque d'affinité CPU de
l'objet d'attributs de thread auquel
attr fait référence.
Le paramètre
cpusetsize est la longueur (en octets) du tampon
pointé par
cpuset. Typiquement, ce paramètre sera
sizeof (cpu_set_t).
Pour plus de détails sur les masques d'affinité CPU, consultez
sched_setaffinity(2). Pour une description d'un jeu de macros qui
peuvent être utilisées pour manipuler et inspecter des ensembles
de CPU, consultez
CPU_SET(3).
VALEUR RENVOYÉE¶
En cas de réussite, ces fonctions renvoient 0 ; en cas d'erreur
elles renvoient un numéro d'erreur non nul.
ERREURS¶
- EINVAL
- (pthread_attr_setaffinity_np()) Le cpuset indiquait un CPU
en dehors de l'ensemble pris en charge par le noyau (l'option de
configuration CONFIG_NR_CPUS du noyau définit l'intervalle
de l'ensemble pris en charge par le type de données du noyau pour
représenter les ensembles de CPU).
- EINVAL
- (pthread_attr_getaffinity_np()) Un CPU du masque d'affinité
de l'objet d'attributs de thread auquel attr fait
référence réside en dehors de l'intervalle
indiqué par cpusetsize (c'est-à-dire,
cpuset/cpusetsize est trop petit).
- ENOMEM
- (pthread_attr_setaffinity_np()) Impossible d'allouer de la
mémoire.
VERSIONS¶
Ces fonctions sont fournies par la glibc depuis la version 2.3.4.
Ces fonctions sont des extensions non standard GNU ; c'est la raison du
suffixe « _np » (non portable) dans leur nom.
NOTES¶
Dans la glibc 2.3.3, uniquement, les versions de ces fonctions n'avaient pas de
paramètre
cpusetsize. À la place, la taille de l'ensemble
de CPU fourni à l'appel système sous-jacent était
toujours
sizeof(cpu_set_t).
VOIR AUSSI¶
sched_setaffinity(2),
pthread_attr_init(3),
pthread_setaffinity_np(3),
cpuset(7),
pthreads(7)
COLOPHON¶
Cette page fait partie de la publication 3.65 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Nicolas François et l'équipe francophone de traduction de
Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet
manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce
document en utilisant la commande «
man -L C
<section>
<page_de_man> ».