summaryrefslogtreecommitdiffstats
path: root/include/jemalloc/internal/pages.h
diff options
context:
space:
mode:
authorJason Evans <jasone@canonware.com>2016-05-06 00:45:02 (GMT)
committerJason Evans <jasone@canonware.com>2016-05-06 01:56:17 (GMT)
commitc2f970c32b527660a33fa513a76d913c812dcf7c (patch)
treeb0593fac905797fa543ac77aa5ebd9e1160cb67f /include/jemalloc/internal/pages.h
parentdc391adc6577b4ed0dac0ce3b1778473e67e4c17 (diff)
downloadjemalloc-c2f970c32b527660a33fa513a76d913c812dcf7c.zip
jemalloc-c2f970c32b527660a33fa513a76d913c812dcf7c.tar.gz
jemalloc-c2f970c32b527660a33fa513a76d913c812dcf7c.tar.bz2
Modify pages_map() to support mapping uncommitted virtual memory.
If the OS overcommits: - Commit all mappings in pages_map() regardless of whether the caller requested committed memory. - Linux-specific: Specify MAP_NORESERVE to avoid unfortunate interactions with heuristic overcommit mode during fork(2). This resolves #193.
Diffstat (limited to 'include/jemalloc/internal/pages.h')
-rw-r--r--include/jemalloc/internal/pages.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/jemalloc/internal/pages.h b/include/jemalloc/internal/pages.h
index da7eb96..e21effd 100644
--- a/include/jemalloc/internal/pages.h
+++ b/include/jemalloc/internal/pages.h
@@ -9,13 +9,14 @@
/******************************************************************************/
#ifdef JEMALLOC_H_EXTERNS
-void *pages_map(void *addr, size_t size);
+void *pages_map(void *addr, size_t size, bool *commit);
void pages_unmap(void *addr, size_t size);
void *pages_trim(void *addr, size_t alloc_size, size_t leadsize,
- size_t size);
+ size_t size, bool *commit);
bool pages_commit(void *addr, size_t size);
bool pages_decommit(void *addr, size_t size);
bool pages_purge(void *addr, size_t size);
+void pages_boot(void);
#endif /* JEMALLOC_H_EXTERNS */
/******************************************************************************/