diff options
| author | Jason Evans <je@fb.com> | 2011-11-06 04:06:55 (GMT) |
|---|---|---|
| committer | Jason Evans <je@fb.com> | 2011-11-06 04:06:55 (GMT) |
| commit | 30fbef8aeaf65fcd6b265fb9f551e7c2ec8cb22f (patch) | |
| tree | 7cb046c1e7ab09cba4c733c29c78c536c15e531d | |
| parent | 8e6f8b490dbd4b9ae715267fd401f09a056f92c4 (diff) | |
| download | jemalloc-30fbef8aeaf65fcd6b265fb9f551e7c2ec8cb22f.zip jemalloc-30fbef8aeaf65fcd6b265fb9f551e7c2ec8cb22f.tar.gz jemalloc-30fbef8aeaf65fcd6b265fb9f551e7c2ec8cb22f.tar.bz2 | |
Fix rallocm() test to support >4KiB pages.
| -rw-r--r-- | src/jemalloc.c | 2 | ||||
| -rw-r--r-- | test/rallocm.c | 18 |
2 files changed, 15 insertions, 5 deletions
diff --git a/src/jemalloc.c b/src/jemalloc.c index fd6b890..a161c2e 100644 --- a/src/jemalloc.c +++ b/src/jemalloc.c @@ -689,7 +689,7 @@ malloc_init_hard(void) result = sysconf(_SC_PAGESIZE); assert(result != -1); - pagesize = (unsigned)result; + pagesize = (size_t)result; /* * We assume that pagesize is a power of 2 when calculating diff --git a/test/rallocm.c b/test/rallocm.c index a8cadeb..ccf326b 100644 --- a/test/rallocm.c +++ b/test/rallocm.c @@ -1,6 +1,8 @@ #include <stdio.h> #include <stdlib.h> +#include <unistd.h> #include <string.h> +#include <assert.h> #define JEMALLOC_MANGLE #include "jemalloc_test.h" @@ -8,12 +10,20 @@ int main(void) { + size_t pagesize; void *p, *q; size_t sz, tsz; int r; fprintf(stderr, "Test begin\n"); + /* Get page size. */ + { + long result = sysconf(_SC_PAGESIZE); + assert(result != -1); + pagesize = (size_t)result; + } + r = JEMALLOC_P(allocm)(&p, &sz, 42, 0); if (r != ALLOCM_SUCCESS) { fprintf(stderr, "Unexpected allocm() error\n"); @@ -66,7 +76,7 @@ main(void) p = q; sz = tsz; - r = JEMALLOC_P(rallocm)(&q, &tsz, 8192, 0, 0); + r = JEMALLOC_P(rallocm)(&q, &tsz, pagesize*2, 0, 0); if (r != ALLOCM_SUCCESS) fprintf(stderr, "Unexpected rallocm() error\n"); if (q == p) @@ -78,7 +88,7 @@ main(void) p = q; sz = tsz; - r = JEMALLOC_P(rallocm)(&q, &tsz, 16384, 0, 0); + r = JEMALLOC_P(rallocm)(&q, &tsz, pagesize*4, 0, 0); if (r != ALLOCM_SUCCESS) fprintf(stderr, "Unexpected rallocm() error\n"); if (tsz == sz) { @@ -88,7 +98,7 @@ main(void) p = q; sz = tsz; - r = JEMALLOC_P(rallocm)(&q, &tsz, 8192, 0, ALLOCM_NO_MOVE); + r = JEMALLOC_P(rallocm)(&q, &tsz, pagesize*2, 0, ALLOCM_NO_MOVE); if (r != ALLOCM_SUCCESS) fprintf(stderr, "Unexpected rallocm() error\n"); if (q != p) @@ -99,7 +109,7 @@ main(void) } sz = tsz; - r = JEMALLOC_P(rallocm)(&q, &tsz, 16384, 0, ALLOCM_NO_MOVE); + r = JEMALLOC_P(rallocm)(&q, &tsz, pagesize*4, 0, ALLOCM_NO_MOVE); if (r != ALLOCM_SUCCESS) fprintf(stderr, "Unexpected rallocm() error\n"); if (q != p) |
