NOM
pthread_attr_setaffinity_np, pthread_attr_getaffinity_np - Définir ou
obtenir l’attribut d’affinité CPU d’un objet regroupant les attributs
d’un thread
SYNOPSIS
#define _GNU_SOURCE
#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.
La fonction pthread_attr_setaffinity_np() définit l’attribut du masque
d’affinité CPU de l’objet regroupant les 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 regroupant les 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
regroupant les 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éfinie 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’intevalle 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.
CONFORMITÉ
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.23 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
Cette page de manuel a été traduite et est maintenue par Nicolas
François <nicolas.francois@centraliens.net> et l’équipe francophone de
traduction de Debian.
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> ».