On Mon, Feb 4, 2013 at 3:35 AM, James Peach <jpe...@apache.org> wrote:
> Do you have any thoughts about whether this could be a runtime option? > As the implementation is so different, the original freelist can't switch to reclaimable-freelist safely. > > J > > On 03/02/2013, at 2:38 AM, z...@apache.org wrote: > > > TS-1006: Add an '--enable-reclaimable-freelist' option > > > > Signed-off-by: Yunkai Zhang <qiushu....@taobao.com> > > Signed-off-by: Zhao Yongming <ming....@gmail.com> > > > > > > Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo > > Commit: > http://git-wip-us.apache.org/repos/asf/trafficserver/commit/5d8cc8af > > Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/5d8cc8af > > Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/5d8cc8af > > > > Branch: refs/heads/master > > Commit: 5d8cc8af06539e4d9f6d3136c7f4b176d51cdfc7 > > Parents: 413a745 > > Author: Yunkai Zhang <qiushu....@taobao.com> > > Authored: Sat Feb 2 16:46:05 2013 +0800 > > Committer: Zhao Yongming <ming....@gmail.com> > > Committed: Sun Feb 3 10:52:58 2013 +0800 > > > > ---------------------------------------------------------------------- > > configure.ac | 21 +++++++++++++++++++++ > > lib/ts/ink_config.h.in | 1 + > > 2 files changed, 22 insertions(+), 0 deletions(-) > > ---------------------------------------------------------------------- > > > > > > > http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5d8cc8af/configure.ac > > ---------------------------------------------------------------------- > > diff --git a/configure.ac b/configure.ac > > index d86ca66..b00d46b 100644 > > --- a/configure.ac > > +++ b/configure.ac > > @@ -378,6 +378,27 @@ TS_ARG_ENABLE_VAR([use], [freelist]) > > AC_SUBST(use_freelist) > > > > # > > +# The original InkFreeList memory pool could not reclaim itself > > +# automatically. We can use '--enable-reclaimable-freelist' option > > +# to enable the reclaiming feature. This option is effective only > > +# when freelist is enable. > > +# > > +if test "x${enable_freelist}" = "xyes"; then > > + AC_MSG_CHECKING([whether to enable reclaimable freelist]) > > + AC_ARG_ENABLE([reclaimable_freelist], > > + [AS_HELP_STRING([--enable-reclaimable-freelist], > > + [turn on reclaimable freelist, this option > is effective > > + only when freelist is enable])], > > + [], > > + [enable_recalimable_freelist="yes"]) > > + AC_MSG_RESULT([$enable_reclaimable_freelist]) > > +else > > + enable_reclaimable_freelist="no" > > +fi > > +TS_ARG_ENABLE_VAR([use], [reclaimable_freelist]) > > +AC_SUBST(use_reclaimable_freelist) > > + > > +# > > # Configure how many stats to allocate for plugins. Default is 512. > > # > > AC_ARG_WITH([max-api-stats], > > > > > http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5d8cc8af/lib/ts/ink_config.h.in > > ---------------------------------------------------------------------- > > diff --git a/lib/ts/ink_config.h.in b/lib/ts/ink_config.h.in > > index 83c328f..274308c 100644 > > --- a/lib/ts/ink_config.h.in > > +++ b/lib/ts/ink_config.h.in > > @@ -119,6 +119,7 @@ > > #define TS_HAS_IP_TOS @has_ip_tos@ > > #define TS_USE_HWLOC @use_hwloc@ > > #define TS_USE_FREELIST @use_freelist@ > > +#define TS_USE_RECLAIMABLE_FREELIST @use_reclaimable_freelist@ > > #define TS_USE_TLS_NPN @use_tls_npn@ > > #define TS_USE_TLS_SNI @use_tls_sni@ > > > > > > -- Yunkai Zhang Work at Taobao