diff options
author | shishir gowda <shishir.gowda@sandisk.com> | 2014-12-15 06:52:29 +0100 |
---|---|---|
committer | shishir gowda <shishir.gowda@sandisk.com> | 2014-12-15 06:52:29 +0100 |
commit | 973e9f755af07db2e518bf735c5e417f56bb2f39 (patch) | |
tree | b169d63ec692aebd7c6ea4b8f32aeac9e713b56b /configure.ac | |
parent | Merge pull request #3103 from danderson/ceph-dev-mode-python-envvar (diff) | |
download | ceph-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.ac | 32 |
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])], |