r14238@tombo: nickm | 2008-02-17 14:03:44 -0500

Add openbsd memory allocator discussed in bug 468, to make it easier for linux users to get non-awful allocation patterns.  Use --enable-openbsd-malloc to turn it on.  Needs more testing.


svn:r13544
This commit is contained in:
Nick Mathewson 2008-02-17 19:03:49 +00:00
parent faa56a500b
commit a8b371c333
4 changed files with 2007 additions and 0 deletions

View File

@ -12,6 +12,10 @@ Changes in version 0.2.0.20-?? - 2008-02-??
o Minor features (performance):
- Tune parameters for cell pool allocation to minimize amount of
RAM overhead used.
- Add OpenBSD malloc code from phk as an optional malloc
replacement on Linux: some glibc libraries do very poorly
with Tor's memory allocation patterns. Pass
--enable-openbsd-malloc to get the replacement malloc code.
o Minor features (controller):
- Add a new __HashedControlSessionPassword option for controllers

View File

@ -40,6 +40,9 @@ AC_ARG_ENABLE(cell-pool,
AS_HELP_STRING(--disable-cell-pool, disable pool allocator for cells))
AC_ARG_ENABLE(buf-freelists,
AS_HELP_STRING(--disable-buf-freelists, disable freelists for buffer RAM))
AC_ARG_ENABLE(openbsd-malloc,
AS_HELP_STRING(--enable-openbsd-malloc, Use malloc code from openbsd. Linux only))
if test x$enable_cell_pool != xno; then
AC_DEFINE(ENABLE_CELL_POOL, 1,
@ -49,6 +52,7 @@ if test x$enable_buf_freelists != xno; then
AC_DEFINE(ENABLE_BUF_FREELISTS, 1,
[Defined if we try to use freelists for buffer RAM chunks])
fi
AM_CONDITIONAL(USE_OPENBSD_MALLOC, test x$enable_openbsd_malloc = xyes)
AC_ARG_ENABLE(transparent,
AS_HELP_STRING(--disable-transparent, disable transparent proxy support),

View File

@ -6,4 +6,8 @@ noinst_LIBRARIES = libor.a libor-crypto.a
libor_a_SOURCES = log.c util.c compat.c container.c mempool.c
libor_crypto_a_SOURCES = crypto.c aes.c tortls.c torgzip.c
if USE_OPENBSD_MALLOC
libor_a_SOURCES += OpenBSD_Malloc_Linux.c
endif
noinst_HEADERS = log.h crypto.h test.h util.h compat.h aes.h torint.h tortls.h strlcpy.c strlcat.c torgzip.h container.h ht.h mempool.h

File diff suppressed because it is too large Load Diff