diff options
author | Qi Wang <interwq@gwu.edu> | 2017-09-11 20:32:58 (GMT) |
---|---|---|
committer | Qi Wang <interwq@gmail.com> | 2017-09-12 21:29:49 (GMT) |
commit | 886053b966f4108e4b9ee5e29a0a708e91bc72f8 (patch) | |
tree | ffaaec3a81bcec3e14905f44ff5b8d9bb486cb03 | |
parent | cf4738455d990918914cdc8608936433ef897a6e (diff) | |
download | jemalloc-886053b966f4108e4b9ee5e29a0a708e91bc72f8.zip jemalloc-886053b966f4108e4b9ee5e29a0a708e91bc72f8.tar.gz jemalloc-886053b966f4108e4b9ee5e29a0a708e91bc72f8.tar.bz2 |
Fix huge page test in test/unit/pages.
Huge pages could be disabled even if the kernel header has MAD_HUGEPAGE
defined. Guard the huge pagetest with runtime detection.
-rw-r--r-- | test/unit/pages.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/test/unit/pages.c b/test/unit/pages.c index 1a979e6..49ad009 100644 --- a/test/unit/pages.c +++ b/test/unit/pages.c @@ -10,11 +10,13 @@ TEST_BEGIN(test_pages_huge) { pages = pages_map(NULL, alloc_size, PAGE, &commit); assert_ptr_not_null(pages, "Unexpected pages_map() error"); - hugepage = (void *)(ALIGNMENT_CEILING((uintptr_t)pages, HUGEPAGE)); - assert_b_ne(pages_huge(hugepage, HUGEPAGE), have_madvise_huge, - "Unexpected pages_huge() result"); - assert_false(pages_nohuge(hugepage, HUGEPAGE), - "Unexpected pages_nohuge() result"); + if (thp_state_madvise) { + hugepage = (void *)(ALIGNMENT_CEILING((uintptr_t)pages, HUGEPAGE)); + assert_b_ne(pages_huge(hugepage, HUGEPAGE), have_madvise_huge, + "Unexpected pages_huge() result"); + assert_false(pages_nohuge(hugepage, HUGEPAGE), + "Unexpected pages_nohuge() result"); + } pages_unmap(pages, alloc_size); } |