r3216 - in trunk/varnish-cache: . bin/varnishd lib lib/libjemalloc
tfheen at projects.linpro.no
tfheen at projects.linpro.no
Wed Sep 24 14:41:29 CEST 2008
Author: tfheen
Date: 2008-09-24 14:41:29 +0200 (Wed, 24 Sep 2008)
New Revision: 3216
Added:
trunk/varnish-cache/lib/libjemalloc/Makefile.am
Removed:
trunk/varnish-cache/lib/libjemalloc/Makefile
Modified:
trunk/varnish-cache/bin/varnishd/Makefile.am
trunk/varnish-cache/configure.ac
trunk/varnish-cache/lib/Makefile.am
Log:
Use jemalloc by default on Linux
We seem to run into trouble with regular glibc malloc on Linux, so use
jemalloc instead of glibc's malloc.
This can be disabled using --disable-jemalloc
Modified: trunk/varnish-cache/bin/varnishd/Makefile.am
===================================================================
--- trunk/varnish-cache/bin/varnishd/Makefile.am 2008-09-24 12:41:27 UTC (rev 3215)
+++ trunk/varnish-cache/bin/varnishd/Makefile.am 2008-09-24 12:41:29 UTC (rev 3216)
@@ -79,6 +79,7 @@
$(top_builddir)/lib/libvarnish/libvarnish.la \
$(top_builddir)/lib/libvarnishcompat/libvarnishcompat.la \
$(top_builddir)/lib/libvcl/libvcl.la \
+ @JEMALLOC_LDADD@ \
${DL_LIBS} ${PTHREAD_LIBS} ${NET_LIBS} ${LIBM}
EXTRA_DIST = default.vcl
Modified: trunk/varnish-cache/configure.ac
===================================================================
--- trunk/varnish-cache/configure.ac 2008-09-24 12:41:27 UTC (rev 3215)
+++ trunk/varnish-cache/configure.ac 2008-09-24 12:41:29 UTC (rev 3216)
@@ -340,6 +340,28 @@
AC_DEFINE_UNQUOTED([VCC_CC],"$VCC_CC",[C compiler command line for VCL code])
+# Use jemalloc on Linux
+JEMALLOC_SUBDIR=
+JEMALLOC_LDADD=
+AC_ARG_ENABLE(jemalloc,
+AS_HELP_STRING([--disable-jemalloc],[do not use jemalloc (default is yes on Linux, no everywhere else)]),
+[if "x$enableval" = "xyes"; then
+ JEMALLOC_SUBDIR=libjemalloc
+ JEMALLOC_LDADD='$(top_builddir)/lib/libjemalloc/libjemalloc_mt.la'
+fi],
+[case $host in #(
+*-*-linux*)
+ JEMALLOC_SUBDIR=libjemalloc
+ JEMALLOC_LDADD='$(top_builddir)/lib/libjemalloc/libjemalloc_mt.la'
+ ;; #(
+*)
+ true
+ ;;
+esac])
+
+AC_SUBST(JEMALLOC_SUBDIR)
+AC_SUBST(JEMALLOC_LDADD)
+
# Generate output
AC_CONFIG_FILES([
Makefile
@@ -361,6 +383,7 @@
lib/libvarnishapi/Makefile
lib/libvarnishcompat/Makefile
lib/libvcl/Makefile
+ lib/libjemalloc/Makefile
man/Makefile
redhat/Makefile
varnishapi.pc
Modified: trunk/varnish-cache/lib/Makefile.am
===================================================================
--- trunk/varnish-cache/lib/Makefile.am 2008-09-24 12:41:27 UTC (rev 3215)
+++ trunk/varnish-cache/lib/Makefile.am 2008-09-24 12:41:29 UTC (rev 3216)
@@ -4,4 +4,5 @@
libvarnish \
libvarnishapi \
libvarnishcompat \
- libvcl
+ libvcl \
+ @JEMALLOC_SUBDIR@
Deleted: trunk/varnish-cache/lib/libjemalloc/Makefile
===================================================================
--- trunk/varnish-cache/lib/libjemalloc/Makefile 2008-09-24 12:41:27 UTC (rev 3215)
+++ trunk/varnish-cache/lib/libjemalloc/Makefile 2008-09-24 12:41:29 UTC (rev 3216)
@@ -1,23 +0,0 @@
-CFLAGS := -O3 -g
-# See source code comments to avoid memory leaks when enabling MALLOC_MAG.
-#CPPFLAGS := -DMALLOC_PRODUCTION -DMALLOC_MAG
-CPPFLAGS := -DMALLOC_PRODUCTION
-
-all: libjemalloc.so.0 libjemalloc_mt.so.0
-
-jemalloc_linux_mt.o: jemalloc_linux.c
- gcc $(CFLAGS) -c -DPIC -fPIC $(CPPFLAGS) -D__isthreaded=true -o $@ $+
-
-jemalloc_linux.o: jemalloc_linux.c
- gcc $(CFLAGS) -c -DPIC -fPIC $(CPPFLAGS) -D__isthreaded=false -o $@ $+
-
-libjemalloc_mt.so.0: jemalloc_linux_mt.o
- gcc -shared -lpthread -o $@ $+
- ln -sf $@ libjemalloc_mt.so
-
-libjemalloc.so.0: jemalloc_linux.o
- gcc -shared -lpthread -o $@ $+
- ln -sf $@ libjemalloc.so
-
-clean:
- rm -f *.o *.so.0 *.so
Added: trunk/varnish-cache/lib/libjemalloc/Makefile.am
===================================================================
--- trunk/varnish-cache/lib/libjemalloc/Makefile.am (rev 0)
+++ trunk/varnish-cache/lib/libjemalloc/Makefile.am 2008-09-24 12:41:29 UTC (rev 3216)
@@ -0,0 +1,27 @@
+# See source code comments to avoid memory leaks when enabling MALLOC_MAG.
+#CPPFLAGS := -DMALLOC_PRODUCTION -DMALLOC_MAG
+AM_CPPFLAGS := -DMALLOC_PRODUCTION
+
+#all: libjemalloc.so.0 libjemalloc_mt.so.0
+
+noinst_LTLIBRARIES = libjemalloc_mt.la
+
+libjemalloc_mt_la_LIBADD = ${PTHREAD_LIBS}
+libjemalloc_mt_la_LDFLAGS = -version-info 0:0:0 -static
+libjemalloc_mt_la_CFLAGS = -D__isthreaded=true
+
+libjemalloc_mt_la_SOURCES = jemalloc_linux.c
+
+#jemalloc_linux.o: jemalloc_linux.c
+# gcc $(CFLAGS) -c -DPIC -fPIC $(CPPFLAGS) -D__isthreaded=false -o $@ $+
+
+#libjemalloc_mt.so.0: jemalloc_linux_mt.o
+# gcc -shared -lpthread -o $@ $+
+# ln -sf $@ libjemalloc_mt.so
+
+#libjemalloc.so.0: jemalloc_linux.o
+# gcc -shared -lpthread -o $@ $+
+# ln -sf $@ libjemalloc.so
+
+#clean:
+# rm -f *.o *.so.0 *.so
More information about the varnish-commit
mailing list