Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

       get_mempolicy - recuperează politica de memorie NUMA pentru un fir de execuție

BIBLIOTECA

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

REZUMAT

       #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);

DESCRIERE

       get_mempolicy() recuperează politica NUMA a firului apelant sau a unei adrese de  memorie,
       în funcție de valoarea lui flags.

       O  mașină NUMA are diferite controloare de memorie cu distanțe diferite față de diferitele
       CPU-uri. Politica de memorie definește din ce nod este alocată  memoria  pentru  firul  de
       execuție.

       Dacă  flags  este  specificat ca fiind 0, atunci sunt returnate informații despre politica
       implicită a firului apelant (așa cum a fost stabilită de set_mempolicy(2)),  în  memoriile
       tampon  indicate  de  mode  și  nodemask.  Valoarea returnată în aceste argumente poate fi
       utilizată pentru a readuce  politica  firului  la  starea  sa  din  momentul  apelului  la
       get_mempolicy()  folosind  set_mempolicy(2). Atunci când flags este 0, addr trebuie să fie
       specificat ca NULL.

       Dacă flags specifică MPOL_F_MEMS_ALLOWED (disponibil începând cu Linux 2.6.24), argumentul
       mode  este ignorat, iar setul de noduri (memorii) pe care firul de execuție are voie să le
       specifice în apelurile ulterioare către mbind(2) sau set_mempolicy(2) (în absența oricărui
       indicator   mode   flags)   este   returnat   în  nodemask.  Nu  este  permisă  combinarea
       MPOL_F_MEMS_ALLOWED cu MPOL_F_ADDR sau MPOL_F_NODE.

       În cazul în care flags specifică MPOL_F_ADDR,  atunci  sunt  returnate  informații  despre
       politica  care  guvernează  adresa de memorie indicată în addr.  Această politică poate fi
       diferită de politica implicită  a  firului  de  execuție  dacă  mbind(2)  sau  una  dintre
       funcțiile  de  ajutor  descrise  în  numa(3)  a fost utilizată pentru a stabili o politică
       pentru intervalul de memorie care conține addr.

       Dacă argumentul mode nu este NULL, atunci get_mempolicy() va stoca modul  de  politică  și
       orice  indicatori opționali mode flags ai politicii NUMA solicitate în locația indicată de
       acest argument. Dacă nodemask nu este NULL, atunci masca de nod asociată politicii  va  fi
       stocată  în locația indicată de acest argument. maxnode specifică numărul de ID-uri de nod
       care pot fi stocate în nodemask, adică ID-ul maxim de nod plus unu.  Valoarea  specificată
       de maxnode este întotdeauna rotunjită la un multiplu de sizeof(unsigned long)*8.

       Dacă  flags  specifică  atât  MPOL_F_NODE,  cât și MPOL_F_ADDR, get_mempolicy() va returna
       ID-ul nodului pe care adresa addr este alocată în locația indicată de mode.  În  cazul  în
       care  nu  a  fost  alocată încă nicio pagină pentru adresa specificată, get_mempolicy() va
       aloca o pagină ca și cum firul de execuție ar fi efectuat un acces de  citire  (încărcare)
       la adresa respectivă și va returna ID-ul nodului în care a fost alocată pagina respectivă.

       În  cazul  în care flags specifică MPOL_F_NODE, dar nu MPOL_F_ADDR, iar politica curentă a
       firului este MPOL_INTERLEAVE, atunci get_mempolicy() va returna în locația indicată de  un
       argument  mode  non-NULL,  ID-ul  de  nod  al  nodului  următor care va fi utilizat pentru
       intercalarea paginilor interne ale nucleului alocate în  numele  firului.  Aceste  alocări
       includ  paginile  pentru  fișiere  alocate  în  memorie  în  intervalele  de  memorie  ale
       procesului, alocate  cu  ajutorul  apelului  mmap(2)  cu  indicatorul  MAP_PRIVATE  pentru
       accesări  de  citire și în intervalele de memorie alocate cu indicatorul MAP_SHARED pentru
       toate accesările.

       Alte valori ale fanionului sunt rezervate.

       Pentru o prezentare generală a politicilor posibile, a se vedea set_mempolicy(2).

VALOAREA RETURNATĂ

       În caz de succes, get_mempolicy() returnează 0; în caz de eroare, se  returnează  -1,  iar
       errno este configurată pentru a indica eroarea.

ERORI

       EFAULT O  parte  din tot intervalul de memorie specificat de nodemask și maxnode indică în
              afara spațiului de adrese accesibil.

       EINVAL Valoarea specificată de maxnode este mai mică decât numărul  de  ID-uri  de  noduri
              acceptate  de  sistem.   Sau  flags  a specificat alte valori decât MPOL_F_NODE sau
              MPOL_F_ADDR; sau flags a specificat MPOL_F_ADDR și addr este NULL, sau flags  nu  a
              specificat  MPOL_F_ADDR și addr nu este NULL.  Sau, flags a specificat MPOL_F_NODE,
              dar nu MPOL_F_ADDR, iar politica curentă a firelor nu este  MPOL_INTERLEAVE.   Sau,
              flags  a specificat MPOL_F_MEMS_ALLOWED fie cu MPOL_F_ADDR, fie cu MPOL_F_NODE; (și
              mai există și alte cazuri EINVAL).

VERSIUNI

       Apelul de sistem get_mempolicy() a fost adăugat în Linux 2.6.7.

STANDARDE

       Acest apel de sistem este specific pentru Linux.

NOTE

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

CONSULTAȚI ȘI

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

TRADUCERE

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

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.