summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQi Wang <interwq@gwu.edu>2017-09-11 20:32:58 (GMT)
committerQi Wang <interwq@gmail.com>2017-09-12 21:29:49 (GMT)
commit886053b966f4108e4b9ee5e29a0a708e91bc72f8 (patch)
treeffaaec3a81bcec3e14905f44ff5b8d9bb486cb03
parentcf4738455d990918914cdc8608936433ef897a6e (diff)
downloadjemalloc-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.c12
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);
}