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  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.03                  5 februarie 2023                                get_mempolicy(2)