1 #include "test/jemalloc_test.h"
2
TEST_BEGIN(test_pages_huge)3 TEST_BEGIN(test_pages_huge) {
4 size_t alloc_size;
5 bool commit;
6 void *pages, *hugepage;
7
8 alloc_size = HUGEPAGE * 2 - PAGE;
9 commit = true;
10 pages = pages_map(NULL, alloc_size, PAGE, &commit);
11 assert_ptr_not_null(pages, "Unexpected pages_map() error");
12
13 if (init_system_thp_mode == thp_mode_default) {
14 hugepage = (void *)(ALIGNMENT_CEILING((uintptr_t)pages, HUGEPAGE));
15 assert_b_ne(pages_huge(hugepage, HUGEPAGE), have_madvise_huge,
16 "Unexpected pages_huge() result");
17 assert_false(pages_nohuge(hugepage, HUGEPAGE),
18 "Unexpected pages_nohuge() result");
19 }
20
21 pages_unmap(pages, alloc_size);
22 }
23 TEST_END
24
25 int
main(void)26 main(void) {
27 return test(
28 test_pages_huge);
29 }
30