pthread_attr_setaffinity_np, pthread_attr_getaffinity_np - Définir ou
obtenir l'attribut d'affinité CPU d'un objet d'attributs de thread
Bibliothèque de threads POSIX (
libpthread,
-lpthread)
#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(const pthread_attr_t *attr,
size_t cpusetsize, cpu_set_t *cpuset);
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).
En cas de succès, ces fonctions renvoient
0 ; en cas
d'erreur, elles renvoient un code d'erreur non nul.
- 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.
Ces fonctions sont fournies depuis la glibc 2.3.4.
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
pthread_attr_setaffinity_np(),
pthread_attr_getaffinity_np() |
Sécurité des threads |
MT-Safe |
Ces fonctions sont des extensions GNU non standard ; d'où le
suffixe « _np » (non portable) dans leur nom.
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).
sched_setaffinity(2),
pthread_attr_init(3),
pthread_setaffinity_np(3),
cpuset(7),
pthreads(7)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]>, David Prévot <
[email protected]> et
Frédéric Hantrais <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]