On Sep 4, 2013, at 5:02 PM, zw...@apache.org wrote:

> Updated Branches:
>  refs/heads/master ebe3502c1 -> 1b75d0f0f
> 
> 
> TS-2168 Make RecordsConfig.cc more inline with default builds.
> 
> 
> Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
> Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/1b75d0f0
> Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/1b75d0f0
> Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/1b75d0f0


I'm not sure I like this, because it means it would be impossible to implement 
TS-1882 ("ATS doesn't warn about unknown config items").

What I would like is one of

1) Set the defaults to 0 consistently, as it was.

2) Make the entries in records.config.default.in also conditional (I don't know 
if this is possible).


#2 still has the problem that it could generate errors later on when someone 
switches ATS build or configs, but that's probably OK.

Also, the new  text  in records.config is *much* too verbose IMO. Attached is a 
proposed new format. This also includes what I think is a bug fix, the debug 
config restricts to values 0 or 1, but there are two bit fields, so it should 
be at least 0-3.

Cheers,

-- Leif

diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc
index 919675f..c1fec36 100644
--- a/mgmt/RecordsConfig.cc
+++ b/mgmt/RecordsConfig.cc
@@ -1944,14 +1944,14 @@ RecordElement RecordsConfig[] = {
   //# Using for Reclaimable InkFreeList memory pool
   //#
   //############
-  {RECT_CONFIG, "proxy.config.allocator.debug_filter", RECD_INT, "0", 
RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
+  {RECT_CONFIG, "proxy.config.allocator.enable_reclaim", RECD_INT, "1", 
RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
   ,
   {RECT_CONFIG, "proxy.config.allocator.max_overage", RECD_INT, "3", 
RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
   ,
-  {RECT_CONFIG, "proxy.config.allocator.enable_reclaim", RECD_INT, "1", 
RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
-  ,
   {RECT_CONFIG, "proxy.config.allocator.reclaim_factor", RECD_FLOAT, "0.3", 
RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
   ,
+  {RECT_CONFIG, "proxy.config.allocator.debug_filter", RECD_INT, "0", 
RECU_NULL, RR_NULL, RECC_NULL, "[0-3]", RECA_NULL}
+  ,
 #endif /* TS_USE_RECLAIMABLE_FREELIST */
 
   //############
diff --git a/proxy/config/records.config.default.in 
b/proxy/config/records.config.default.in
index a5abe55..900d571 100644
--- a/proxy/config/records.config.default.in
+++ b/proxy/config/records.config.default.in
@@ -606,35 +606,24 @@ CONFIG proxy.config.diags.show_location INT 0
 #
 # Configuration for Reclaimable InkFreeList memory pool
 #
-# NOTE: The following options are no meaningful unless compiles TrafficServer
-#      with '--enable-reclaimable-freelist' option. Looks like:
-#      $ ./configure --enable-reclaimable-freelist
+# NOTE: The following options are meaningfull only when Traffic Server is
+#       compiled with the following option to configure:
+#
+#          --enable-reclaimable-freelist
 #
 ##############################################################################
-  # Dump debug information according bit mask of debug_filter, if a bit is set
-  # in the mask, then debug information of the corresponding action are dumped:
-  #  bit 0: reclaim memory in ink_freelist_new
-  #  bit 1: allocate memory from partial-free Chunks(if exist) or OS
-  # NOTE: This option make no sense unless compiles TrafficServer
-  #       with '--enable-reclaimable-freelist' option.
-CONFIG proxy.config.allocator.debug_filter INT 0
-  # The value of enable_reclaim should be 0 or 1. Default 1, reclaim enabled.
-  # NOTE: This option make no sense unless compiles TrafficServer
-  #       with '--enable-reclaimable-freelist' option.
-CONFIG proxy.config.allocator.enable_reclaim INT 1
-  # The value of reclaim_factor should be in 0.0 ~ 1.0, allocator use it to
-  # calculate average value of idle memory in InkFreeList, which will determine
-  # when to reclaim memory. The larger the value, the faster the reclaiming.
-  # This value is effective only when enable_reclaim is 1.
-  # NOTE: This option make no sense unless compiles TrafficServer
-  #       with '--enable-reclaimable-freelist' option.
+CONFIG proxy.config.allocator.enable_reclaim INT 1
+  # The value of reclaim_factor should be in the 0.0 to 1.0 range. Allocators
+  # use it to calculate size of unused memory, which is used to determine when
+  # to reclaim memory. The larger the value, the more aggressive reclaims.
 CONFIG proxy.config.allocator.reclaim_factor FLOAT 0.300000
   # Allocator will reclaim memory only when it continuously satisfy the reclaim
-  # condition for max_overage times. This value is effective only when
-  # enable_reclaim is 1.
-  # NOTE: This option make no sense unless compiles TrafficServer
-  #       with '--enable-reclaimable-freelist' option.
+  # condition for max_overage continuous checks.
 CONFIG proxy.config.allocator.max_overage INT 3
+  #  For debugging, enable debug_filter, which is a bit-map with these fields:
+  #     bit 0: reclaim memory in ink_freelist_new
+  #     bit 1: allocate memory from partial-free Chunks(if exist) or OS
+CONFIG proxy.config.allocator.debug_filter INT 0
 
 ##############################################################################
 #

Reply via email to