[master] 6502df904 Add discussion of thread_pool_stack and related issues to release docs.

Geoff Simmons geoff at uplex.de
Mon Mar 11 15:23:08 UTC 2019


commit 6502df9042978c8e8245051db59b639d80816e09
Author: Geoff Simmons <geoff at uplex.de>
Date:   Mon Mar 11 16:21:47 2019 +0100

    Add discussion of thread_pool_stack and related issues to release docs.

diff --git a/doc/sphinx/whats-new/changes-trunk.rst b/doc/sphinx/whats-new/changes-trunk.rst
index 7992f6c51..d21dec31a 100644
--- a/doc/sphinx/whats-new/changes-trunk.rst
+++ b/doc/sphinx/whats-new/changes-trunk.rst
@@ -34,9 +34,38 @@ should consider increasing the parameters
 :ref:`ref_param_thread_pool_min`, :ref:`ref_param_thread_pool_max`
 and/or :ref:`ref_param_thread_pools`.
 
+.. _whatsnew_changes_params_2019_03:
+
 Parameters
 ~~~~~~~~~~
 
+The default value for :ref:`ref_param_thread_pool_stack` on 64-bit
+platforms has been increased to 56k (from 48k). Recently we had
+occasional reports of stack overflow, apparently related to changes in
+external libraries that are not under control of the Varnish project
+(such as glibc). This may also have been related to stack overflow
+issues on some platforms when recent versions of `jemalloc`_, the
+recommended memory allocator for Varnish, have been used together with
+`pcre`_ with JIT compilation enabled.
+
+Tests have shown that Varnish runs stably with the new default stack
+size on a number of platforms, under conditions that previously may
+have led to stack overflow -- such as ESI includes up to the default
+limit of :ref:`ref_param_max_esi_depth`, relatively deep VCL
+subroutine call depth, and recent jemalloc together with pcre-jit.
+
+Different sites have different requirements regarding the stack size.
+For example, if your site uses a high depth of ESI includes, you are
+probably already using an increased value of
+:ref:`ref_param_thread_pool_stack`.  If you don't have such
+requirements, and you want to reduce memory footprint, you can
+consider lowering :ref:`ref_param_thread_pool_stack`, but make sure to
+test the result.
+
+.. _jemalloc: http://jemalloc.net/
+
+.. _pcre: https://www.pcre.org/
+
 Some parameters that have been long deprecated are now retired. See
 :ref:`whatsnew_upgrading_params_2019_03` in
 :ref:`whatsnew_upgrading_2019_03`.
diff --git a/doc/sphinx/whats-new/upgrading-trunk.rst b/doc/sphinx/whats-new/upgrading-trunk.rst
index 331e858b8..59d49a34f 100644
--- a/doc/sphinx/whats-new/upgrading-trunk.rst
+++ b/doc/sphinx/whats-new/upgrading-trunk.rst
@@ -69,6 +69,11 @@ now.  These are:
 
 * ``vmod_dir`` -- use :ref:`ref_param_vmod_path` instead
 
+The default value of :ref:`ref_param_thread_pool_stack` on 64-bit
+platforms has been increased to 56k (from 48k). See the discussion
+under :ref:`whatsnew_changes_params_2019_03` in
+:ref:`whatsnew_changes_2019_03` for details.
+
 .. _whatsnew_upgrading_std_conversion_2019_03:
 
 Type conversion functions in VMOD std


More information about the varnish-commit mailing list