Provided by: manpages-ro-dev_4.27.0-1_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)

SINOPSIS

       #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 sau MPOL_WEIGHTED_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-IEȘIRE

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

STANDARDE

       Linux.

ISTORIC

       Linux 2.6.7.

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   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                                   get_mempolicy(2)