]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
tcmalloc: add support for tcmalloc.
authorGreg Farnum <gregf@hq.newdream.net>
Fri, 6 Aug 2010 21:47:06 +0000 (14:47 -0700)
committerGreg Farnum <gregf@hq.newdream.net>
Fri, 6 Aug 2010 22:02:26 +0000 (15:02 -0700)
Right now it's only used on the MDS and OSD, but it can be added to mons too.

configure.ac
src/Makefile.am

index 6268e6108a4b8a01c53fc8308a21f35256046300..5ef7376882ef333a099398648af7e8258674ca59 100644 (file)
@@ -79,6 +79,26 @@ AS_IF([test "x$with_fuse" != xno],
              ])])
 AM_CONDITIONAL(WITH_FUSE, [test "$HAVE_LIBFUSE" = "1"])
 
+# tcmalloc?
+AC_ARG_WITH([tcmalloc],
+           [AS_HELP_STRING([--with--tcmalloc], [use tcmalloc instead of ptmallc])],
+           [],
+           [with_tcmalloc=check])
+TCMALLOC=
+AS_IF([test "x$with_tcmalloc" != xno],
+           [AC_CHECK_LIB([tcmalloc], [malloc],
+            [AC_SUBST([LIBTCMALLOC], ["-ltcmalloc"])
+              AC_DEFINE([HAVE_LIBTCMALLOC], [1],
+                        [Define if you have tcmalloc])
+              HAVE_LIBTCMALLOC=1
+            ],
+           [if test "x$with_tcmalloc" != xcheck; then
+               AC_MSG_FAILURE(
+                 [--with-tcmalloc was given but test failed])
+             fi
+           ])])
+AM_CONDITIONAL(WITH_TCMALLOC, [test "$HAVE_LIBTCMALLOC" = "1"])
+
 # jni?
 AC_ARG_WITH([hadoop],
             [AS_HELP_STRING([--with-hadoop], [build hadoop client])],
index a47d35213758a81010247c2700d186bef2ed8d36..cde419639d680f914877e42f380de7f25cc3a9e9 100644 (file)
@@ -24,6 +24,12 @@ cmds_SOURCES = cmds.cc msg/SimpleMessenger.cc
 cmds_LDADD = libmds.a libosdc.a libcrush.a libcommon.a -lpthread -lm -lcrypto
 bin_PROGRAMS += cmds
 
+# tcmalloc?
+if WITH_TCMALLOC
+cosd_LDADD += -ltcmalloc
+cmds_LDADD += -ltcmalloc
+endif # WITH_TCMALLOC
+
 # admin tools
 ceph_SOURCES = ceph.cc msg/SimpleMessenger.cc
 ceph_LDADD = libcrush.a libcommon.a -ledit -lpthread -lm -lcrypto