summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorshishir gowda <shishir.gowda@sandisk.com>2014-12-15 06:52:29 +0100
committershishir gowda <shishir.gowda@sandisk.com>2014-12-15 06:52:29 +0100
commit973e9f755af07db2e518bf735c5e417f56bb2f39 (patch)
treeb169d63ec692aebd7c6ea4b8f32aeac9e713b56b /configure.ac
parentMerge pull request #3103 from danderson/ceph-dev-mode-python-envvar (diff)
downloadceph-973e9f755af07db2e518bf735c5e417f56bb2f39.tar.xz
ceph-973e9f755af07db2e518bf735c5e417f56bb2f39.zip
jemalloc-support: Added --with-jemalloc configure option
If --with-jemalloc option is not specified, then it defaults to tcmalloc. If --with-jemalloc is specified, then --without-tcmalloc is required. Also if a rocksdb static linking is desired --with-librocksdb-static, do not use --with-jemalloc, as rocksdb uses tcmalloc for builds. Support for jemalloc in package build and perf stats/heap profiler is underway Signed-off-by: shishir gowda <shishir.gowda@sandisk.com>
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac32
1 files changed, 32 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 7d48d220342..5851603b964 100644
--- a/configure.ac
+++ b/configure.ac
@@ -403,6 +403,30 @@ AS_IF([test "x$with_tcmalloc" != xno],
[no tcmalloc found (use --without-tcmalloc to disable)])])])
AM_CONDITIONAL(WITH_TCMALLOC, [test "$HAVE_LIBTCMALLOC" = "1"])
+# jemalloc?
+AC_ARG_WITH([jemalloc],
+ [AS_HELP_STRING([--with-jemalloc], [enable jemalloc for memory allocations])],
+ [],
+ [with_jemalloc=no])
+JEMALLOC=
+AS_IF([test "x$with_jemalloc" = xyes],
+ [AC_CHECK_LIB([jemalloc], [malloc],
+ [AC_SUBST([LIBJEMALLOC], ["-ljemalloc"])
+ AC_DEFINE([HAVE_LIBJEMALLOC], [1],
+ [Define if you have jemalloc])
+ HAVE_LIBJEMALLOC=1
+ ],
+ [AC_MSG_FAILURE(
+ [no jemalloc found (do not use --with-jemalloc)])])])
+AM_CONDITIONAL(WITH_JEMALLOC, [test "$HAVE_LIBJEMALLOC" = "1"])
+
+# error out if --with-jemalloc and ! --without-tcmalloc
+if test "x$with_jemalloc" = "xyes"; then
+ if test "x$with_tcmalloc" != "xno"; then
+ AC_MSG_FAILURE([--with-jemalloc called without --without-tcmalloc])
+ fi
+fi
+
#set pg ref debugging?
AC_ARG_ENABLE([pgrefdebugging],
[AS_HELP_STRING([--enable-pgrefdebugging], [enable pg ref debugging])],
@@ -596,6 +620,14 @@ AS_IF([test "x$with_librocksdb_static" = "xyes"],
AM_CONDITIONAL(WITH_SLIBROCKSDB, [ test "x$with_librocksdb_static" = "xyes" ])
AM_CONDITIONAL(WITH_LIBROCKSDB, [ test "x$with_librocksdb_static" = "xyes" -o "x$with_librocksdb" = "xyes" ])
+# error out if --with-jemalloc and --with-librocksdb_static as rocksdb uses tcmalloc
+if test "x$with_jemalloc" = "xyes"; then
+ if test "x$with_librocksdb_static" != "xno"; then
+ AC_MSG_FAILURE([--with-jemalloc called with --with-librocksdb_static, turn off
+ --with-librocksdb-static or --with-jemalloc])
+ fi
+fi
+
# use system libs3?
AC_ARG_WITH([system-libs3],
[AS_HELP_STRING([--with-system-libs3], [use system libs3])],