plucky (2) getcpu.2.gz

Provided by: manpages-fr-dev_4.25.1-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

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #define _GNU_SOURCE             /* Consultez feature_test_macros(7) */
       #include <sched.h>

       int getcpu(unsigned int *_Nullable cpu, unsigned int *_Nullable node);

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.

       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

       En  cas  de succès, 0 est renvoyé. En cas d'erreur, -1 est renvoyé et errno est positionnée pour indiquer
       l'erreur.

ERREURS

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

STANDARDS

       Linux.

HISTORIQUE

       Linux 2.6.19 (x86-64 et i386), glibc 2.29.

   Différences entre bibliothèque C et noyau
       L'appel système du noyau a un troisième argument :

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

       L'argument tcache est inutilisé depuis Linux 2.6.24 et (lorsqu'il est  appelé  directement  avec  l'appel
       système) devrait être indiqué comme valant NULL sauf si la portabilité vers Linux 2.6.23 ou antérieur est
       nécessaire.

       Dans Linux 2.6.23 et antérieur, si le paramètre tcache 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é.

NOTES

       Linux  fait de gros efforts pour rendre cet appel aussi rapide que possible (sur certaines architectures,
       il passe par une implémentation dans la vdso(7)). 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.

VOIR AUSSI

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

TRADUCTION

       La   traduction   française   de   cette   page   de   manuel   a   été   créée   par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>,  François  Micaux,  Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,      Thomas      Huriaux      <thomas.huriaux@gmail.com>,     Nicolas     François
       <nicolas.francois@centraliens.net>,    Florentin    Duneau    <fduneau@gmail.com>,     Simon     Paillard
       <simon.paillard@resel.enst-bretagne.fr>,     Denis    Barbier    <barbier@debian.org>,    David    Prévot
       <david@tilapin.org> et Jean-Philippe MENGUAL <jpmengual@debian.org>

       Cette traduction est une documentation libre ; veuillez vous reporter à la  GNU  General  Public  License
       version 3   ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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  à
       ⟨debian-l10n-french@lists.debian.org⟩.