summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Goldblatt <davidgoldblatt@fb.com>2017-09-18 22:03:52 (GMT)
committerDavid Goldblatt <davidtgoldblatt@gmail.com>2017-10-16 22:35:49 (GMT)
commitccd09050aa53d083fe0b45d4704b1fe95fb00c92 (patch)
treed1a330d939972fba5f45c0a7fac82d5baa133afa
parent211b1f3c7de23b1915f1ce8f9277e6c1ff60cfde (diff)
downloadjemalloc-ccd09050aa53d083fe0b45d4704b1fe95fb00c92.zip
jemalloc-ccd09050aa53d083fe0b45d4704b1fe95fb00c92.tar.gz
jemalloc-ccd09050aa53d083fe0b45d4704b1fe95fb00c92.tar.bz2
Add configure-time detection for madvise(..., MADV_DO[NT]DUMP)
-rw-r--r--configure.ac11
-rw-r--r--include/jemalloc/internal/jemalloc_internal_defs.h.in5
2 files changed, 16 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 558489c..7544f57 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1845,6 +1845,17 @@ if test "x${je_cv_madvise}" = "xyes" ; then
AC_DEFINE([JEMALLOC_PURGE_MADVISE_DONTNEED], [ ])
fi
+ dnl Check for madvise(..., MADV_DO[NT]DUMP).
+ JE_COMPILABLE([madvise(..., MADV_DO[[NT]]DUMP)], [
+#include <sys/mman.h>
+], [
+ madvise((void *)0, 0, MADV_DONTDUMP);
+ madvise((void *)0, 0, MADV_DODUMP);
+], [je_cv_madv_dontdump])
+ if test "x${je_cv_madv_dontdump}" = "xyes" ; then
+ AC_DEFINE([JEMALLOC_MADVISE_DONTDUMP], [ ])
+ fi
+
dnl Check for madvise(..., MADV_[NO]HUGEPAGE).
JE_COMPILABLE([madvise(..., MADV_[[NO]]HUGEPAGE)], [
#include <sys/mman.h>
diff --git a/include/jemalloc/internal/jemalloc_internal_defs.h.in b/include/jemalloc/internal/jemalloc_internal_defs.h.in
index b56f21f..aadfbed 100644
--- a/include/jemalloc/internal/jemalloc_internal_defs.h.in
+++ b/include/jemalloc/internal/jemalloc_internal_defs.h.in
@@ -289,6 +289,11 @@
#undef JEMALLOC_DEFINE_MADVISE_FREE
/*
+ * Defined if MADV_DO[NT]DUMP is supported as an argument to madvise.
+ */
+#undef JEMALLOC_MADVISE_DONTDUMP
+
+/*
* Defined if transparent huge pages (THPs) are supported via the
* MADV_[NO]HUGEPAGE arguments to madvise(2), and THP support is enabled.
*/