Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       migrate_pages - mută toate paginile dintr-un proces către un alt set de noduri

BIBLIOTECA

       Biblioteca de politici NUMA („Non-Uniform Memory Access”: acces neuniform la memorie) (libnuma, -lnuma)

SINOPSIS

       #include <numaif.h>

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

DESCRIERE

       migrate_pages()  încearcă  să  mute  toate  paginile  procesului  pid care se află în nodurile de memorie
       old_nodes în nodurile de memorie din new_nodes.  Paginile care nu se află în niciun nod din old_nodes  nu
       vor fi migrate.  Pe cât posibil, nucleul păstrează relația topologică relativă în interiorul old_nodes în
       timpul migrării către new_nodes.

       Argumentele  old_nodes  și  new_nodes  sunt  indicatori  la măști de biți de numere de noduri, cu până la
       maxnode biți în fiecare mască.  Aceste măști sunt păstrate ca matrice de numere întregi  fără  semn  long
       (în  ultimul  număr  întreg long, biții dincolo de cei specificați de maxnode sunt ignorați).  Argumentul
       maxnode este numărul maxim de noduri din masca de biți plus unu (este același ca în mbind(2), dar diferit
       de select(2)).

       Argumentul pid este ID-ul procesului ale cărui pagini urmează  să  fie  mutate.   Pentru  a  muta  pagini
       într-un  alt  proces,  apelantul  trebuie să fie privilegiat (CAP_SYS_NICE) sau ID-ul real sau efectiv al
       utilizatorului procesului apelant trebuie să coincidă cu ID-ul real sau cu ID-ul utilizatorului salvat al
       procesului țintă.  Dacă pid este 0, atunci migrate_pages() mută paginile procesului apelant.

       Paginile partajate cu un alt  proces  vor  fi  mutate  numai  dacă  procesul  inițiator  are  privilegiul
       CAP_SYS_NICE.

VALOAREA RETURNATĂ

       În caz de succes, migrate_pages() returnează numărul de pagini care nu au putut fi mutate (de exemplu, un
       răspuns  zero  înseamnă  că toate paginile au fost mutate cu succes).  În caz de eroare, returnează -1 și
       configurează errno pentru a indica eroarea.

ERORI-IEȘIRE

       EFAULT O parte sau întregul interval de memorie specificat de old_nodes/new_nodes și maxnode se  află  în
              afara spațiului de adrese accesibil.

       EINVAL Valoarea specificată de maxnode depășește o limită impusă de nucleu.  Sau, old_nodes sau new_nodes
              specifică  unul  sau mai multe ID-uri de nod care sunt mai mari decât ID-ul de nod maxim acceptat.
              Sau, niciunul dintre ID-urile de noduri specificate de new_nodes nu  este  în  linie  și  nu  este
              permis  de  contextul  cpuset  curent  al  procesului  sau niciunul dintre nodurile specificate nu
              conține memorie.

       EPERM  Privilegiu insuficient (CAP_SYS_NICE) pentru a muta pagini ale procesului specificat  de  pid  sau
              privilegiu insuficient (CAP_SYS_NICE) pentru a accesa nodurile țintă specificate.

       ESRCH  Nu a putut fi găsit niciun proces care să corespundă cu pid.

STANDARDE

       Linux.

ISTORIC

       Linux 2.6.16.

NOTE

       Pentru informații privind suportul de bibliotecă, consultați numa(7).

       Utilizați  get_mempolicy(2)  cu indicatorul MPOL_F_MEMS_ALLOWED pentru a obține setul de noduri care sunt
       permise de cpuset-ul procesului apelant.  Rețineți că aceste informații pot fi modificate în orice moment
       prin reconfigurarea manuală sau automată a cpuset-ului.

       Utilizarea migrate_pages() poate avea ca rezultat pagini  a  căror  locație  (nod)  încalcă  politica  de
       memorie  stabilită  pentru  adresele  specificate  (a se vedea mbind(2)) și/sau procesul specificat (a se
       vedea set_mempolicy(2)).  Adică, politica de memorie nu constrânge nodurile de  destinație  utilizate  de
       migrate_pages().

       Antetul  <numaif.h>  nu  este  inclus  în  glibc,  ci necesită instalarea libnuma-devel sau a unui pachet
       similar.

CONSULTAȚI ȘI

       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 în arborele sursă al nucleului Linux

TRADUCERE

       Traducerea   în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel    Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3 sau o
       versiune  ulterioară  cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se   asumă   NICIO
       RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                   migrate_pages(2)