[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