Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
get_mempolicy - Lire la politique memoire 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'edition des liens avec l'option -lnuma.
DESCRIPTION
get_mempolicy() lit la politique NUMA du processus appelant ou d'une
adresse en memoire, selon la valeur de flags.
Une machine NUMA a differents controleurs memoire a differentes
distances de CPU particulieres. La politique de la memoire definit a
partir de quel noeud la memoire pour ce processus sera allouee.
Si flags est nul, la politique par defaut du processus appelant (fixee
par set_mempolicy(2)) est renvoyee. La politique renvoyee (mode et
nodemask) peut etre utilisee avec set_mempolicy(2) pour restaurer la
politique du processus dans son etat au moment de l'appel a
get_mempolicy().
Si flags indique MPOL_F_MEMS_ALLOWED (disponible depuis Linux 2.6.24),
le parametre mode est ignore et l'ensemble des noeuds (memoires) que le
processus est autorise a utiliser dans les appels suivants a mbind(2)
ou set_mempolicy(2) (en l'absence de drapeaux de mode) est renvoye 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 renvoyee concerne la
politique gouvernant la memoire a l'adresse addr. Cette politique peut
etre differente de la politique par defaut du processus si mbind(2) ou
une des fonctions d'aide decrites dans numa(3) a ete utilisee pour
fixer une politique pour la page contenant l'adresse addr.
Si le parametre mode n'est pas NULL, get_mempolicy() stockera le mode
de politique et tout drapeau de mode optionnel de la politique NUMA
requise a l'endroit pointe par ce parametre. Si nodemask n'est pas
NULL, le masque de noeud associe a la politique sera stockee a
l'emplacement pointe par cet argument. maxnode specifie le nombre
d'identifiants de noeuds qui peuvent etre stockes dans nodemask,
c'est-a-dire, la valeur maximale de l'identifiant de noeud plus un. La
valeur indiquee dans maxnode est toujours arrondie a un multiple de
sizeof(unsigned long).
Si flags indique a la fois MPOL_F_NODE et MPOL_F_ADDR, get_mempolicy()
renverra, a l'endroit pointe par mode, l'identifiant de noeud du noeud
sur lequel l'adresse addr est allouee. Si aucune page n'a encore ete
allouee pour l'adresse specifiee, get_mempolicy() allouera une page
comme si le processus avait realise un acces en lecture [chargement] a
cette adresse, et renverra l'identifiant du noeud ou cette page a ete
allouee.
Si flags indique MPOL_F_NODE mais pas MPOL_F_ADDR et que la politique
actuelle est MPOL_INTERLEAVE, get_mempolicy() renverra a l'endroit
pointe par un parametre mode non nul l'identifiant du prochain noeud a
utiliser pour l'entrelacement des pages internes du noyau allouees au
nom du processus. Ces allocations incluent des pages pour les fichiers
de memoire projetee dans les plages de memoire projetee du processus en
utilisant l'appel mmap(2) avec l'attribut MAP_PRIVATE pour les acces en
lecture, et dans les plages de memoire projetee avec l'attribut
MAP_SHARED pour tous les autres acces.
D'autres valeurs d'attribut sont reservees.
Pour un survol des politiques possibles, consultez set_mempolicy(2).
VALEUR RENVOY'EE
get_mempolicy() renvoie 0 s'il reussit, ou -1 s'il echoue, auquel cas
errno contient le code d'erreur.
ERREURS
EFAULT Une partie de la plage memoire specifiee par nodemask et maxnode
pointe en dehors de votre espace d'adressage accessible.
EINVAL La valeur specifiee par maxnode est inferieure au nombre
d'identifiants de noeud pris en charge par le systeme. Ou flags
specifie des valeurs autres que MPOL_F_NODE ou MPOL_F_ADDR ; ou
flags specifie MPOL_F_ADDR et addr est NULL, ou flags ne
specifie pas MPOL_F_ADDR et addr n'est pas NULL. Ou flags
specifie MPOL_F_NODE mais pas MPOL_F_ADDR et la politique
actuelle du processus n'est pas MPOL_INTERLEAVE. Ou flags
specifie MPOL_F_MEMS_ALLOWED avec MPOL_F_ADDR ou MPOL_F_NODE.
(Et il y a d'autres cas pour EINVAL)
VERSIONS
L'appel systeme get_mempolicy() a ete ajoute au noyau Linux dans la
version 2.6.7.
CONFORMIT'E
Cet appel systeme est specifique a Linux.
NOTES
Pour des informations sur la prise en charge par des bibliotheques,
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.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Julien
Cristau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.
Linux 15 aout 2008 GET_MEMPOLICY(2)