Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       migrate_pages - Déplacer toutes les pages d'un processus sur un autre ensemble de nœuds

SYNOPSIS

       #include <numaif.h>

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

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

DESCRIPTION

       migrate_pages()   déplace  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  zéro.  En cas d'erreur, il renvoie -1 et remplit
       errno avec la valeur d'erreur.

ERREURS

       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.

VERSIONS

       L'appel  système migrate_pages() est apparu pour la première fois sous Linux avec le noyau
       2.6.16.

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

       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), numa_stat(8);
       le fichier source du noyau Documentation/vm/page_migration.

COLOPHON

       Cette page fait partie de la publication 3.32 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <URL:http://po4a.alioth.debian.org/>  par  l'équipe  de  traduction francophone au sein du
       projet perkamon <URL:http://perkamon.alioth.debian.org/>.

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