diff options
Diffstat (limited to 'vespamalloc/src/vespamalloc/malloc/threadpool.hpp')
-rw-r--r-- | vespamalloc/src/vespamalloc/malloc/threadpool.hpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/vespamalloc/src/vespamalloc/malloc/threadpool.hpp b/vespamalloc/src/vespamalloc/malloc/threadpool.hpp index 7e86c3f691a..e9b9fabebdc 100644 --- a/vespamalloc/src/vespamalloc/malloc/threadpool.hpp +++ b/vespamalloc/src/vespamalloc/malloc/threadpool.hpp @@ -2,6 +2,7 @@ #pragma once #include <vespamalloc/malloc/threadpool.h> +#include <malloc.h> namespace vespamalloc { @@ -85,6 +86,7 @@ mallocHelper(size_t exactSize, template <typename MemBlockPtrT, typename ThreadStatT > ThreadPoolT<MemBlockPtrT, ThreadStatT>::ThreadPoolT() : _allocPool(nullptr), + _mmapLimit(0x40000000), _threadId(0), _osThreadId(0) { @@ -94,6 +96,15 @@ template <typename MemBlockPtrT, typename ThreadStatT > ThreadPoolT<MemBlockPtrT, ThreadStatT>::~ThreadPoolT() = default; template <typename MemBlockPtrT, typename ThreadStatT > +int ThreadPoolT<MemBlockPtrT, ThreadStatT>::mallopt(int param, int value) { + if (param == M_MMAP_THRESHOLD) { + _mmapLimit = value; + return 1; + } + return 0; +} + +template <typename MemBlockPtrT, typename ThreadStatT > void ThreadPoolT<MemBlockPtrT, ThreadStatT>::malloc(size_t sz, MemBlockPtrT & mem) { SizeClassT sc = MemBlockPtrT::sizeClass(sz); |