Mihai Sprinceana
Un forum de programare cu de toate. Va astept sa va inscrieti si sa deveniti moderatori. Oricine este binevenit aici sa se inscrie si sa aiba acces la informatie free! Fiecare este liber sa adauge proiecte programe free etc. Ajutati acest forum sa devina o comunitate puternica unde fiecare invata de la fiecare! Tot ce trebuie sa faceti este sa va inregistrati si fiecare contributie se poate dovedi utila in timp! Forumul este free informatia free dk aveti timp liber ajutati si pe ceilalti si invatati si voi in acelasi timp! Haideti sa facem ceva pt.a ne ajuta intre noi!
Cititi regulament postare forum inainte de a posta!
|
Lista Forumurilor Pe Tematici
|
Mihai Sprinceana | Inregistrare | Login
POZE MIHAI SPRINCEANA
Nu sunteti logat.
|
Nou pe simpatie: loryci_2006
| Femeie 21 ani Bucuresti cauta Barbat 21 - 49 ani |
|
Cristy89
Moderator
Inregistrat: acum 15 ani
Postari: 26
|
|
mbind - seteaza o interdictie pt.un domeniu al memoriei =set memory policy for an memory range
Fisiere heder incluse:
#include <numaif.h>
Forma generala:
int mbind(void *start, unsigned long len, int policy, unsigned long *nodemask, unsigned long maxnode, unsigned flags) DESCRIPTION
mbind -seteaza memoria NUMA(Non-Uniform-Memory Address) incepand cu start si de lungime len.
Memoria NUMA a pc-ului este divizata in mai multe noduri.
Restrictia de memorie(memory policy) defineste in ce node memoria este alocata.
Functia mbind are efect doar pt.noi alocari.
Exemple de restrictii valabile: MPOL_DEFAULT, MPOL_BIND, MPOL_INTERLEAVE, MPOL_PREFERRED.
Toate restrictiile cu exceptia MPOL_DEFAULT au nevoie sa le fie specificate nodurile la care se aplica aceste restrictii in cadrul parametrului nodemask.
In cazul restrictiei MPOL_MF_STRICT este trecut in flag-uri(indicatori) parametrul EIO va fi intors cand pagile existente nu urmeaza restrictia.
Restrictia MPOL_DEFAULT este cea default(implicita) si semnifica restrictionarea procesului curent(care poate fi modificat cu set_mempolicy).
Restrictia MPOL_BIND -restrange alocarea memoriei pt.nodurile specificate in nodemask. Nu vor exista alte alocari catre alte noduri.
MPOL_INTERLEAVE -este o restrictie ce lasa alocarile in nodurile specificate din nodemask.
MPOL_PREFERRED- este o restrictia care in esenta seteaza nodul de preferinta pt.o anumita alocare. Nucleul SO va incerca sa aloce in primul sau nod mai si va esua in cazul celorlalte noduri cand aceste au memorie scazuta. Cand nici un nod nu este setat in masca, nodul curent este folosit pt.alocare.
RETURN VALUE mbind intoarce -1 cand se produce o eroare si in caz contrar 0. r Erori:
EFAULT There was a unmapped hole in the specified memory range or an passed pointer was not valid. EINVAL An illegal parameter was passed. ENOMEM System out of memory EIO MPOL_F_STRICT was specified and an existing page was already on an wrong node.
|
|
pus acum 15 ani |
|