1. 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

2. SYNOPSIS

 
Sélectionnez
#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.

3. 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).

4. 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.

5. 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.

6. VERSIONS

Ces fonctions sont fournies par la glibc depuis la version 2.3.4.

7. CONFORMITÉ

Ces fonctions sont des extensions non standard GNU ; c'est la raison du suffixe « _np » (non portable) dans leur nom.

8. 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).

9. VOIR AUSSI

10. COLOPHON

Cette page fait partie de la publication 3.52 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/.

11. 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 à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».