NR_HUGE_PAGES
write_fault_pages(addr, NR_HUGE_PAGES);
validate_free_pages(free_hugepages - NR_HUGE_PAGES);
ret = madvise(addr - base_page_size, NR_HUGE_PAGES * huge_page_size,
ret = madvise(addr, (NR_HUGE_PAGES * huge_page_size) + base_page_size,
(void)munmap(addr, NR_HUGE_PAGES * huge_page_size);
addr = mmap(NULL, NR_HUGE_PAGES * huge_page_size,
write_fault_pages(addr, NR_HUGE_PAGES);
validate_free_pages(free_hugepages - NR_HUGE_PAGES);
NR_HUGE_PAGES * huge_page_size - base_page_size,
((NR_HUGE_PAGES - 1) * huge_page_size) + base_page_size,
(void)munmap(addr, NR_HUGE_PAGES * huge_page_size);
addr = mmap(NULL, NR_HUGE_PAGES * huge_page_size,
write_fault_pages(addr, NR_HUGE_PAGES);
validate_free_pages(free_hugepages - NR_HUGE_PAGES);
if (madvise(addr, NR_HUGE_PAGES * huge_page_size, MADV_DONTNEED)) {
(void)munmap(addr, NR_HUGE_PAGES * huge_page_size);
if (fallocate(fd, 0, 0, NR_HUGE_PAGES * huge_page_size)) {
validate_free_pages(free_hugepages - NR_HUGE_PAGES);
addr = mmap(NULL, NR_HUGE_PAGES * huge_page_size,
read_fault_pages(addr, NR_HUGE_PAGES);
validate_free_pages(free_hugepages - NR_HUGE_PAGES);
if (madvise(addr, NR_HUGE_PAGES * huge_page_size, MADV_DONTNEED)) {
validate_free_pages(free_hugepages - NR_HUGE_PAGES);
write_fault_pages(addr, NR_HUGE_PAGES);
validate_free_pages(free_hugepages - (2 * NR_HUGE_PAGES));
if (madvise(addr, NR_HUGE_PAGES * huge_page_size, MADV_DONTNEED)) {
validate_free_pages(free_hugepages - NR_HUGE_PAGES);
write_fault_pages(addr, NR_HUGE_PAGES);
validate_free_pages(free_hugepages - (2 * NR_HUGE_PAGES));
0, NR_HUGE_PAGES * huge_page_size)) {
(void)munmap(addr, NR_HUGE_PAGES * huge_page_size);
if (fallocate(fd, 0, 0, NR_HUGE_PAGES * huge_page_size)) {
validate_free_pages(free_hugepages - NR_HUGE_PAGES);
addr = mmap(NULL, NR_HUGE_PAGES * huge_page_size,
write_fault_pages(addr, NR_HUGE_PAGES);
validate_free_pages(free_hugepages - NR_HUGE_PAGES);
if (madvise(addr, NR_HUGE_PAGES * huge_page_size, MADV_DONTNEED)) {
validate_free_pages(free_hugepages - NR_HUGE_PAGES);
if (madvise(addr, NR_HUGE_PAGES * huge_page_size, MADV_REMOVE)) {
(void)munmap(addr, NR_HUGE_PAGES * huge_page_size);
if (fallocate(fd, 0, 0, NR_HUGE_PAGES * huge_page_size)) {
validate_free_pages(free_hugepages - NR_HUGE_PAGES);
addr = mmap(NULL, NR_HUGE_PAGES * huge_page_size,
write_fault_pages(addr, NR_HUGE_PAGES);
validate_free_pages(free_hugepages - NR_HUGE_PAGES);
addr2 = mmap(NULL, NR_HUGE_PAGES * huge_page_size,
read_fault_pages(addr2, NR_HUGE_PAGES);
validate_free_pages(free_hugepages - NR_HUGE_PAGES);
write_fault_pages(addr2, NR_HUGE_PAGES);
validate_free_pages(free_hugepages - (2 * NR_HUGE_PAGES));
if (madvise(addr, NR_HUGE_PAGES * huge_page_size, MADV_DONTNEED)) {
validate_free_pages(free_hugepages - (2 * NR_HUGE_PAGES));
if (madvise(addr2, NR_HUGE_PAGES * huge_page_size, MADV_DONTNEED)) {
validate_free_pages(free_hugepages - NR_HUGE_PAGES);
write_fault_pages(addr2, NR_HUGE_PAGES);
validate_free_pages(free_hugepages - (2 * NR_HUGE_PAGES));
if (madvise(addr, NR_HUGE_PAGES * huge_page_size, MADV_REMOVE)) {
(void)munmap(addr, NR_HUGE_PAGES * huge_page_size);
(void)munmap(addr2, NR_HUGE_PAGES * huge_page_size);
addr = mmap(NULL, (NR_HUGE_PAGES + 2) * huge_page_size,
munmap(addr + (NR_HUGE_PAGES + 1) * huge_page_size,