diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-06-23 10:22:08 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2023-06-23 10:22:08 +0000 |
commit | d868575e5122c3a8b349f2eacfaf96114df22dba (patch) | |
tree | 56a39a17fc2cad5c1b90ec65d045f339f80005d2 /vespamalloc/src/vespamalloc/malloc/threadpool.hpp | |
parent | 97b15016085dd6f2b515b7051803f92e34b29ab9 (diff) |
- Add control of M_MMAP_THRESHOLD with environment variable VESPA_MALLOC_MMAP_THRESHOLD.
- Reduce default from 1G to 64M.
Diffstat (limited to 'vespamalloc/src/vespamalloc/malloc/threadpool.hpp')
-rw-r--r-- | vespamalloc/src/vespamalloc/malloc/threadpool.hpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/vespamalloc/src/vespamalloc/malloc/threadpool.hpp b/vespamalloc/src/vespamalloc/malloc/threadpool.hpp index b5a283f6600..e62fa0f2fdf 100644 --- a/vespamalloc/src/vespamalloc/malloc/threadpool.hpp +++ b/vespamalloc/src/vespamalloc/malloc/threadpool.hpp @@ -7,8 +7,10 @@ namespace vespamalloc { namespace { - constexpr size_t MMAP_LIMIT_MIN = 0x100000; // 1M - constexpr size_t MMAP_LIMIT_MAX = 0x40000000; // 1G + size_t + sanitizeMMapThreshold(int threshold) { + return std::min(MMAP_LIMIT_MAX, std::max(MMAP_LIMIT_MIN, threshold)); + } } template <typename MemBlockPtrT, typename ThreadStatT> @@ -112,9 +114,8 @@ ThreadPoolT<MemBlockPtrT, ThreadStatT>::~ThreadPoolT() = default; template <typename MemBlockPtrT, typename ThreadStatT > int ThreadPoolT<MemBlockPtrT, ThreadStatT>::mallopt(int param, int value) { - size_t limit = value; if (param == M_MMAP_THRESHOLD) { - _mmapLimit = std::min(MMAP_LIMIT_MAX, std::max(MMAP_LIMIT_MIN, limit)); + _mmapLimit = sanitizeMMapThreshold(value); return 1; } return 0; |