Man page - get_mempolicy(2)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

get_mempolicy

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
STANDARDS
HISTORIQUE
NOTES
VOIR AUSSI
TRADUCTION

NOM

get_mempolicy - RĂ©cupĂ©rer la politique mĂ©moire NUMA d’un thread

BIBLIOTHÈQUE

BibliothĂšque de rĂšgles NUMA (Non-Uniform Memory Access) ( libnuma , -lnuma )

SYNOPSIS

#include <numaif.h>

long get_mempolicy(int * mode ,
unsigned long
nodemask [(. maxnode + ULONG_WIDTH - 1)
/ ULONG_WIDTH],
unsigned long
maxnode , void * addr ,
unsigned long
flags );

DESCRIPTION

get_mempolicy () rĂ©cupĂšre la politique NUMA du thread 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 des processeurs particuliers. La politique de la mĂ©moire dĂ©finit le nƓud Ă  partir duquel la mĂ©moire est allouĂ©e pour le thread.

Si flags vaut 0 , les informations sur la politique par dĂ©faut du thread appelant (dĂ©finie par set_mempolicy (2)) est renvoyĂ©e dans les tampons vers lesquels pointent mode et nodemask . La valeur renvoyĂ©e par ces paramĂštres peut ĂȘtre utilisĂ©e pour restaurer la politique du thread dans son Ă©tat au moment de l’appel Ă  get_mempolicy () en utilisant set_mempolicy (2). Quand flags vaut 0 , addr doit ĂȘtre indiquĂ© comme NULL.

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 thread 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 permis de combiner MPOL_F_MEMS_ALLOWED avec MPOL_F_ADDR ou MPOL_F_NODE .

Si flags indique MPOL_F_ADDR , des informations sont renvoyĂ©es sur la politique qui prĂ©side Ă  l’adresse mĂ©moire donnĂ©e dans addr . Cette politique peut ĂȘtre diffĂ©rente de la politique par dĂ©faut du thread 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 plage de mĂ©moire 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 vers lequel pointe ce paramĂštre. Si nodemask n’est pas NULL, le masque de nƓud associĂ© Ă  la politique sera stockĂ© Ă  l’emplacement vers lequel pointe 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)*8 .

Si flags indique Ă  la fois MPOL_F_NODE et MPOL_F_ADDR , get_mempolicy () renverra l’identifiant du nƓud sur lequel est allouĂ©e l’adresse addr Ă  l’emplacement vers lequel pointe mode . Si aucune page n’a encore Ă©tĂ© allouĂ©e pour l’adresse spĂ©cifiĂ©e, get_mempolicy () allouera une page comme si le thread 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 du thread est MPOL_INTERLEAVE ou MPOL_WEIGHTED_INTERLEAVE , get_mempolicy () renverra Ă  l’endroit pointĂ© par un paramĂštre mode non NULL l’identifiant du prochain nƓud Ă  utiliser pour l’entrelacement des pages internes du noyau allouĂ©es au nom du thread. 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 de drapeau 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 l’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 thread n’est ni MPOL_INTERLEAVE , ni MPOL_WEIGHTED_INTERLEAVE . Ou flags spĂ©cifie MPOL_F_MEMS_ALLOWED avec MPOL_F_ADDR ou MPOL_F_NODE . (Il n’existe pas d’autres cas pour EINVAL .)

STANDARDS

Linux.

HISTORIQUE

Linux 2.6.7.

NOTES

Consultez numa (7) pour des informations sur la prise en charge par des bibliothĂšques.

VOIR AUSSI

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

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