alloc_hugepages(2) System Calls Manual alloc_hugepages(2) NUME alloc_hugepages, free_hugepages - aloca sau elibereaza pagini imense SINOPSIS void *syscall(size_t size; SYS_alloc_hugepages, int key, void addr[size], size_t size, int prot, int flag); int syscall(SYS_free_hugepages, void *addr); Nota: Nu exista nicio funcie invaluitoare (wrapper) glibc pentru aceste apeluri de sistem astfel ca este necesara utilizarea a syscall(2). DESCRIERE Apelurile de sistem alloc_hugepages() i free_hugepages() au fost introduse in Linux 2.5.36 i eliminate din nou in Linux 2.5.54. Ele existau numai pe i386 i ia64 (atunci cand erau construite cu CONFIG_HUGETLB_PAGE). In Linux 2.4.20, numerele de apel de sistem exista, dar apelurile eueaza cu eroarea ENOSYS. Pe i386, componentele electronice de gestionare a memoriei tiu despre paginile obinuite (4 Kio) i paginile imense (2 sau 4 Mio). In mod similar, ia64 tie despre pagini imense de mai multe dimensiuni. Aceste apeluri de sistem servesc la cartografierea paginilor imense in memoria procesului sau la eliberarea lor din nou. Paginile imense sunt blocate in memorie i nu sunt interschimbate (realocate). Argumentul key este un identificator. Atunci cand este zero, paginile sunt private i nu sunt motenite de procesele-copil. Daca este pozitiv, paginile sunt partajate cu alte aplicaii care utilizeaza acelai key i sunt motenite de procesele-copil. Argumentul addr din free_hugepages() indica ce pagina este eliberata: a fost valoarea de intoarcere a unui apel la alloc_hugepages() (memoria este eliberata efectiv pentru prima data cand toi utilizatorii au eliberat-o). Argumentul addr al alloc_hugepages() este o indicaie, pe care nucleul o poate urma sau nu. Adresele trebuie sa fie aliniate corespunzator. Argumentul size este lungimea segmentului necesar. Acesta trebuie sa fie un multiplu al dimensiunii imense a paginii. Argumentul prot specifica protecia de memorie a segmentului. Acesta este unul dintre PROT_READ, PROT_WRITE i PROT_EXEC. Argumentul flag este ignorat, cu excepia cazului in care key este pozitiv. In acest caz, daca flag este IPC_CREAT, atunci se creeaza un nou segment de pagina imensa atunci cand nu exista niciunul cu cheia (key) data. Daca acest indicator nu este definit, atunci ENOENT este returnat atunci cand nu exista niciun segment cu cheia (key) data. VALOAREA RETURNATA In caz de succes, alloc_hugepages() returneaza adresa virtuala alocata, iar free_hugepages() returneaza zero. In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE ENOSYS Apelul de sistem nu este acceptat pe acest nucleu. FIIERE /proc/sys/vm/nr_hugepages Numarul de pagini ,,hugetlb" configurate. Acesta poate fi citit i scris. /proc/meminfo Ofera informaii despre numarul de pagini ,,hugetlb" configurate i despre dimensiunea acestora in cele trei variabile HugePages_Total, HugePages_Free i Hugepagesize. STANDARDE Linux pe procesoarele Intel. ISTORIC Aceste apeluri de sistem au disparut; ele au existat doar in Linux 2.5.36 pana la Linux 2.5.54. NOTE Acum poate fi folosit in schimb sistemul de fiiere ,,hugetlbfs". Memoria susinuta de pagini imense (in cazul in care procesorul le accepta) este obinuta prin utilizarea mmap(2) pentru cartografierea fiierelor in acest sistem de fiiere virtual. Numarul maxim de pagini imense poate fi specificat cu ajutorul parametrului de pornire hugepages=. TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.15 28 iunie 2025 alloc_hugepages(2)