dwww Home | Manual pages | Find package

migrate_pages(2)              System Calls Manual             migrate_pages(2)

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 to-
       pologiques  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 se-
       lect(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'ap-
       pelant doit être privilégié (CAP_SYS_NICE) ou l'identifiant utilisateur
       réel ou effectif du processus appelant doit  correspondre  à  l'identi-
       fiant  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 acces-
              sible.

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

       ESRCH  Il n'y a pas de processus correspondant à pid.

VERSIONS
       L'appel système migrate_pages() est apparu pour la première  fois  dans
       Linux 2.6.16.

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

NOTES
       Pour des informations sur la prise en charge des bibliothèques, consul-
       tez numa(7).

       Utilisez get_mempolicy(2) avec le drapeau MPOL_F_MEMS_ALLOWED pour  ob-
       tenir  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'emplace-
       ment (le nœud) viole la politique mémoire établie pour les adresses in-
       diquées (consultez mbind(2)) ou pour le  processus  indiqué  (consultez
       set_mempolicy(2)).  En  d'autres  termes,  la politique mémoire ne res-
       treint 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 distri-
       butions).

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  Chris-
       tophe  Blaess  <https://www.blaess.fr/christophe/>, Stéphan Rafin <ste-
       phan.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.cou-
       lon@wanadoo.fr>,  Julien  Cristau <jcristau@debian.org>, Thomas Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François  <nicolas.francois@centra-
       liens.net>,  Florentin  Duneau <fduneau@gmail.com>, Simon Paillard <si-
       mon.paillard@resel.enst-bretagne.fr>,   Denis   Barbier    <barbier@de-
       bian.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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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⟩.

Pages du manuel de Linux 6.03   4 décembre 2022               migrate_pages(2)

Generated by dwww version 1.15 on Sat Jun 29 01:52:26 CEST 2024.