Man page - migrate_pages(2)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

migrate_pages

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

NOM

migrate_pages - DĂ©placer toutes les pages d’un processus sur un autre ensemble de nƓuds

BIBLIOTHÈQUE

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

SYNOPSIS

#include <numaif.h>

long migrate_pages(int pid , unsigned long maxnode,
const unsigned long *
old_nodes,
const unsigned long *
new_nodes );

DESCRIPTION

migrate_pages () essaye de dĂ©placer toutes les pages du processus pid qui sont sur les nƓuds de mĂ©moire old_nodes vers les nƓuds de mĂ©moire new_nodes . Les pages qui ne sont dans aucun nƓud de old_nodes ne seront pas dĂ©placĂ©es. Le noyau maintient autant que possible les relations topologiques relatives Ă  l’intĂ©rieur de old_nodes durant le dĂ©placement vers new_nodes .

Les arguments old_nodes et new_nodes sont des pointeurs vers des masques de bits de numĂ©ros de nƓuds, avec jusqu’à maxnode bits dans chaque masque. Ces masques sont maintenus comme des tableaux d’entiers longs non signĂ©s ( unsigned long ) ; dans le dernier entier long, les bits aprĂšs ceux spĂ©cifiĂ©s par maxnode sont ignorĂ©s. L’argument maxnode vaut un plus le numĂ©ro maximal de nƓud dans le masque de bit (qui a donc la mĂȘme signification que dans mbind (2), mais est diffĂ©rent de select (2)).

L’argument pid est l’identifiant du processus dont les pages doivent ĂȘtre dĂ©placĂ©es. Pour dĂ©placer les pages dans un autres processus, l’appelant doit ĂȘtre privilĂ©giĂ© ( CAP_SYS_NICE ) ou l’identifiant utilisateur rĂ©el ou effectif du processus appelant doit correspondre Ă  l’identifiant utilisateur rĂ©el ou sauvĂ© du processus cible. Si pid vaut 0, alors migrate_pages () dĂ©place les pages du processus appelant.

Les pages partagées avec un autre processus ne seront déplacées que si le processus appelant possÚde le privilÚge CAP_SYS_NICE .

VALEUR RENVOYÉE

S’il rĂ©ussit, migrate_pages () renvoie le nombre de pages qui n’ont pas pu ĂȘtre dĂ©placĂ©es (c’est-Ă -dire qu’un code de retour de zĂ©ro signifie que toutes les pages ont Ă©tĂ© dĂ©placĂ©s correctement). En cas d’erreur, il renvoie -1 et remplit errno avec la valeur d’erreur.

ERREURS

EFAULT

Une partie de la plage mĂ©moire spĂ©cifiĂ©e par old_nodes / new_nodes et maxnode pointe en dehors de votre espace d’adressage accessible.

EINVAL

La valeur indiquĂ©e par maxnode dĂ©passe une limite imposĂ©e par le noyau. Ou bien, old_nodes ou new_nodes spĂ©cifie un ou plusieurs identifiants de nƓud qui sont plus grands que l’identifiant maximum de nƓud pris en charge. Ou aucun des identifiants de nƓuds spĂ©cifiĂ©s par new_nodes ne sont connectĂ©s et autorisĂ©s par le contexte de cpuset actuel du processus, ou aucun des nƓuds spĂ©cifiĂ©s ne contient de mĂ©moire.

EPERM

Un privilĂšge insuffisant ( CAP_SYS_NICE ) pour dĂ©placer les pages du processus spĂ©cifiĂ© par pid ou pour accĂ©der aux nƓuds de destination.

ESRCH

Il n’y a pas de processus correspondant à pid .

STANDARDS

Linux.

HISTORIQUE

Linux 2.6.16.

NOTES

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

Utilisez get_mempolicy (2) avec le drapeau MPOL_F_MEMS_ALLOWED pour obtenir l’ensemble des nƓuds autorisĂ©s par l’ensemble de processeurs du processus appelant. Notez que cette information peut changer Ă  tout instant d’une fait d’une reconfiguration manuelle ou automatique de l’ensemble de processeurs.

L’utilisation de migrate_pages () peut causer des pages dont l’emplacement (le nƓud) viole la politique mĂ©moire Ă©tablie pour les adresses indiquĂ©es (consultez mbind (2)) ou pour le processus indiquĂ© (consultez set_mempolicy (2)). En d’autres termes, la politique mĂ©moire ne restreint pas les nƓuds de destination utilisĂ©s par migrate_pages ().

L’en-tĂȘte <numaif.h> n’est pas inclus dans la glibc, mais nĂ©cessite l’installation de libnuma-devel (ce nom peut varier suivant les distributions).

VOIR AUSSI

get_mempolicy (2), mbind (2), set_mempolicy (2), numa (3), numa_maps (5), cpuset (7), numa (7), migratepages (8), numastat (8)

Documentation/vm/page_migration.rst dans l’arborescence des sources du noyau Linux

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 .