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