Provided by: manpages-fr-dev_3.57d1p1-1_all bug

NOM

       getcpu  -  Déterminer  le  processeur  et  le  nœud  NUMA  sur  lesquels  le thread appelant est en cours
       d'exécution

SYNOPSIS

       #include <linux/getcpu.h>

       int getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *tcache);

       Remarque : il n'existe pas de fonction glibc autour de cet appel système ; consultez NOTES.

DESCRIPTION

       L'appel système getcpu() identifie le processeur et le nœud sur lesquels le thread ou processus  appelant
       est  en cours d'exécution et écrit le résultat dans les entiers pointés par les arguments cpu et node. Le
       processeur est un petit entier unique identifiant une CPU. Le nœud est un petit entier unique identifiant
       un nœud NUMA. Si cpu ou node est NULL, rien n'est écrit dans leur pointeur respectif.

       Le troisième argument de cet appel système est aujourd'hui  inutilisé,  et  devrait  être  indiqué  comme
       valant NULL sauf si la portabilité vers Linux 2.6.23 ou antérieur est nécessaire (consultez les NOTES).

       L'information  placée  dans  cpu  n'est  garantie  d'être  exacte  qu'au  moment de l'appel : à moins que
       l'affinité CPU n'ait été définie avec sched_setaffinity(2), le noyau peut changer de  processeur  à  tout
       moment.  (Normalement,  cela n'arrive pas car l'ordonnanceur essaie de minimiser les mouvements entre CPU
       et cache, mais c'est possible.) L'appelant doit être prêt  à  gérer  la  situation  où  les  informations
       renvoyées dans cpu et node ne sont plus valables au retour de l'appel.

VALEUR RENVOYÉE

       S'il réussit, la valeur zéro est renvoyée. En cas d'erreur, il renvoie -1 et remplit errno avec la valeur
       d'erreur.

ERREURS

       EFAULT Les arguments pointent en dehors de l'espace d'adressage du processus appelant.

VERSIONS

       getcpu() a été ajouté au noyau dans sa version 2.6.19 pour les architectures x86_64 et i386.

CONFORMITÉ

       getcpu() est spécifique à Linux.

NOTES

       Linux  fait  de  gros  efforts pour rendre cet appel aussi rapide que possible. Le but de getcpu() est de
       permettre aux programmes de réaliser des optimisations de données propres à  chaque  processeur  et  pour
       l'optimisation NUMA.

       La glibc ne fournit pas de fonction autour de cet appel système ; utilisez syscall(2) pour l'appeler ; ou
       utilisez sched_getcpu(3) à la place.

       Le  paramètre  tcache n'est pas utilisé depuis la version 2.6.24 de Linux. Dans les noyaux antérieurs, si
       cet argument n'était pas NULL, il spécifiait un pointeur vers un tampon de l'appelant dans l'espace local
       de stockage du thread utilisé pour fournir un mécanisme de cache à getcpu(). L'utilisation  de  ce  cache
       pouvait  accélérer les appels à getcpu(), avec le faible risque que l'information renvoyée ne soit plus à
       jour. On a considéré que le mécanisme de cache entraînait des problèmes lors de la migration  de  threads
       entre processeurs, aussi, cet argument est aujourd'hui ignoré.

VOIR AUSSI

       mbind(2), sched_setaffinity(2), set_mempolicy(2), sched_getcpu(3), cpuset(7)

COLOPHON

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

       Alain Portal <http://manpagesfr.free.fr/> (2008).

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

Linux                                             3 avril 2013                                         GETCPU(2)