Usando mmap e madvise para páginas enormes

Quero alocar memória nas grandes páginas que estão sendo usadas por uma máquina Linux. Vejo que há duas maneiras de fazer isso, usandommap emadvise.

Ou seja, usando oMAP_HUGETLB sinalizar com ommap ligar -

base_ptr_ = mmap(NULL, memory_size_, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB, -1, 0);

E aMADV_HUGEPAGE sinalizar com omadvise ligar -

madvise(base_ptr_, memory_size_, MADV_HUGEPAGE);

Alguém poderia explicar a diferença entre os dois?

questionAnswers(1)

yourAnswerToTheQuestion