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

NOM

       get_mempolicy - Lire la politique mémoire NUMA d'un processus

SYNOPSIS

       #include <numaif.h>

       int get_mempolicy(int *mode, unsigned long *nodemask,
                         unsigned long maxnode, unsigned long addr,
                         unsigned long flags);

       Effectuez l'édition des liens avec l'option -lnuma.

DESCRIPTION

       get_mempolicy()  lit  la politique NUMA du processus appelant ou d'une adresse en mémoire,
       selon la valeur de flags.

       Une machine  NUMA  a  différents  contrôleurs  mémoire  à  différentes  distances  de  CPU
       particulières. La politique de la mémoire définit à partir de quel nœud la mémoire pour ce
       processus sera allouée.

       Si  flags  est  nul,  la  politique  par  défaut  du  processus  appelant   (définie   par
       set_mempolicy(2))  est  renvoyée.  La  politique  renvoyée  (mode  et  nodemask) peut être
       utilisée avec set_mempolicy(2) pour restaurer la politique du processus dans son  état  au
       moment de l'appel à get_mempolicy().

       Si  flags  indique MPOL_F_MEMS_ALLOWED (disponible depuis Linux 2.6.24), le paramètre mode
       est ignoré et l'ensemble des nœuds (mémoires) que le processus  est  autorisé  à  utiliser
       dans les appels suivants à mbind(2) ou set_mempolicy(2) (en l'absence de drapeaux de mode)
       est renvoyé dans nodemask. Il  n'est  pas  permit  de  combiner  MPOL_F_MEMS_ALLOWED  avec
       MPOL_F_ADDR ou MPOL_F_NODE.

       Si  flags  indique MPOL_F_ADDR, l'information renvoyée concerne la politique gouvernant la
       mémoire à l'adresse addr. Cette politique peut être différente de la politique par  défaut
       du  processus si mbind(2) ou une des fonctions d'aide décrites dans numa(3) a été utilisée
       pour mettre en place une politique pour la page contenant l'adresse addr.

       Si le paramètre mode n'est pas NULL, get_mempolicy() stockera le mode de politique et tout
       drapeau  de  mode  optionnel  de  la  politique  NUMA  requise  à  l'endroit pointé par ce
       paramètre. Si nodemask n'est pas NULL, le masque de  nœud  associé  à  la  politique  sera
       stockée à l'emplacement pointé par cet argument. maxnode spécifie le nombre d'identifiants
       de nœuds qui peuvent être stockés dans  nodemask,  c'est-à-dire,  la  valeur  maximale  de
       l'identifiant  de nœud plus un. La valeur indiquée dans maxnode est toujours arrondie à un
       multiple de sizeof(unsigned long).

       Si flags indique à  la  fois  MPOL_F_NODE  et  MPOL_F_ADDR,  get_mempolicy()  renverra,  à
       l'endroit  pointé  par  mode,  l'identifiant de nœud du nœud sur lequel l'adresse addr est
       allouée. Si aucune page n'a encore été allouée pour l'adresse  spécifiée,  get_mempolicy()
       allouera  une  page comme si le processus avait réalisé un accès en lecture [chargement] à
       cette adresse, et renverra l'identifiant du nœud où cette page a été allouée.

       Si flags indique MPOL_F_NODE mais  pas  MPOL_F_ADDR  et  que  la  politique  actuelle  est
       MPOL_INTERLEAVE, get_mempolicy() renverra à l'endroit pointé par un paramètre mode non nul
       l'identifiant du prochain nœud à utiliser pour l'entrelacement des pages internes du noyau
       allouées  au  nom  du  processus.  Ces allocations incluent des pages pour les fichiers de
       mémoire projetée dans les plages de mémoire projetée du  processus  en  utilisant  l'appel
       mmap(2)  avec  l'attribut  MAP_PRIVATE  pour  les  accès en lecture, et dans les plages de
       mémoire projetée avec l'attribut MAP_SHARED pour tous les autres accès.

       D'autres valeurs d'attribut sont réservées.

       Pour un survol des politiques possibles, consultez set_mempolicy(2).

VALEUR RENVOYÉE

       get_mempolicy() renvoie 0 s'il réussit, ou -1 s'il échoue, auquel cas  errno  contient  le
       code d'erreur.

ERREURS

       EFAULT Une  partie  de la plage mémoire spécifiée par nodemask et maxnode pointe en dehors
              de votre espace d'adressage accessible.

       EINVAL La valeur spécifiée par maxnode est inférieure au  nombre  d'identifiants  de  nœud
              pris en charge par le système. Ou flags spécifie des valeurs autres que MPOL_F_NODE
              ou MPOL_F_ADDR ; ou flags spécifie MPOL_F_ADDR  et  addr  est  NULL,  ou  flags  ne
              spécifie pas MPOL_F_ADDR et addr n'est pas NULL. Ou flags spécifie MPOL_F_NODE mais
              pas MPOL_F_ADDR et la politique actuelle du processus n'est pas MPOL_INTERLEAVE. Ou
              flags  spécifie  MPOL_F_MEMS_ALLOWED  avec  MPOL_F_ADDR  ou MPOL_F_NODE. (Et il y a
              d'autres cas pour EINVAL)

VERSIONS

       L'appel système get_mempolicy() a été ajouté au noyau Linux dans la version 2.6.7.

CONFORMITÉ

       Cet appel système est spécifique à Linux.

NOTES

       Pour des informations sur la prise en charge par des bibliothèques, consultez numa(7).

VOIR AUSSI

       getcpu(2), mbind(2), mmap(2), set_mempolicy(2), numa(3), numa(7), numactl(8)

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

       Christophe   Blaess   <http://www.blaess.fr/christophe/>   (1996-2003),    Alain    Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

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