Loading

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);

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

       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’ordonnaceur  essaie  de
       minimiser  les  mouvements  entre  CPU  et cache, mais c’est possible.)
       L’appelant doit être prêt à gérer la situation où cpu et node  ne  sont
       plus les CPU et nœud actuels.

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.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  par Alain Portal <aportal AT
       univ-montp2  DOT   fr>   en   2008,   et   mise   à   disposition   sur
       http://manpagesfr.free.fr/.

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