summaryrefslogtreecommitdiffstats
path: root/vespamalloc/src
diff options
context:
space:
mode:
authorArnstein Ressem <aressem@gmail.com>2022-02-09 13:51:24 +0100
committerGitHub <noreply@github.com>2022-02-09 13:51:24 +0100
commit75a5214373176d0d79a172b67683c1017a95113c (patch)
treef2a3f18303f613de3ec708cb9524360d021bca8d /vespamalloc/src
parent3840c3a1265610492cd8adf92a188d5e1862efd5 (diff)
Revert "Wire in mallopt(in param, int value) interface in vespamalloc and ver…"
Diffstat (limited to 'vespamalloc/src')
-rw-r--r--vespamalloc/src/tests/stacktrace/stacktrace.cpp1
-rw-r--r--vespamalloc/src/tests/test1/new_test.cpp27
-rw-r--r--vespamalloc/src/vespamalloc/malloc/malloc.h8
-rw-r--r--vespamalloc/src/vespamalloc/malloc/overload.h7
-rw-r--r--vespamalloc/src/vespamalloc/malloc/threadpool.h2
-rw-r--r--vespamalloc/src/vespamalloc/malloc/threadpool.hpp11
6 files changed, 6 insertions, 50 deletions
diff --git a/vespamalloc/src/tests/stacktrace/stacktrace.cpp b/vespamalloc/src/tests/stacktrace/stacktrace.cpp
index 2f0d2eb2277..b28a9653d27 100644
--- a/vespamalloc/src/tests/stacktrace/stacktrace.cpp
+++ b/vespamalloc/src/tests/stacktrace/stacktrace.cpp
@@ -1,5 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include <cstdlib>
+#include <cstdio>
#include <pthread.h>
#include <dlfcn.h>
#include <cassert>
diff --git a/vespamalloc/src/tests/test1/new_test.cpp b/vespamalloc/src/tests/test1/new_test.cpp
index 6f84f7c0f63..5230869145d 100644
--- a/vespamalloc/src/tests/test1/new_test.cpp
+++ b/vespamalloc/src/tests/test1/new_test.cpp
@@ -3,6 +3,7 @@
#include <vespa/log/log.h>
#include <malloc.h>
#include <dlfcn.h>
+#include <functional>
LOG_SETUP("new_test");
@@ -133,28 +134,14 @@ void verify_vespamalloc_usable_size() {
}
}
-enum class MallocLibrary { UNKNOWN, VESPA_MALLOC, VESPA_MALLOC_D};
-
-MallocLibrary
-detectLibrary() {
- if (dlsym(RTLD_NEXT, "is_vespamallocd") != nullptr) {
- // Debug variants will never have more memory available as there is pre/postamble for error detection.
- return MallocLibrary::VESPA_MALLOC_D;
- } else if (dlsym(RTLD_NEXT, "is_vespamalloc") != nullptr) {
- return MallocLibrary::VESPA_MALLOC;
- }
- return MallocLibrary::UNKNOWN;
-}
-
TEST("verify malloc_usable_size is sane") {
constexpr size_t SZ = 33;
std::unique_ptr<char[]> buf = std::make_unique<char[]>(SZ);
size_t usable_size = malloc_usable_size(buf.get());
- MallocLibrary env = detectLibrary();
- if (env == MallocLibrary::VESPA_MALLOC_D) {
+ if (dlsym(RTLD_NEXT, "is_vespamallocd") != nullptr) {
// Debug variants will never have more memory available as there is pre/postamble for error detection.
EXPECT_EQUAL(SZ, usable_size);
- } else if (env == MallocLibrary::VESPA_MALLOC) {
+ } else if (dlsym(RTLD_NEXT, "is_vespamalloc") != nullptr) {
// Normal production vespamalloc will round up
EXPECT_EQUAL(64u, usable_size);
verify_vespamalloc_usable_size();
@@ -164,13 +151,5 @@ TEST("verify malloc_usable_size is sane") {
}
}
-TEST("verify mallopt") {
- MallocLibrary env = detectLibrary();
- if (env == MallocLibrary::UNKNOWN) return;
- EXPECT_EQUAL(0, mallopt(M_MMAP_MAX, 0x1000000));
- EXPECT_EQUAL(1, mallopt(M_MMAP_THRESHOLD, 0x1000000));
- EXPECT_EQUAL(1, mallopt(M_MMAP_THRESHOLD, -1));
-}
-
TEST_MAIN() { TEST_RUN_ALL(); }
diff --git a/vespamalloc/src/vespamalloc/malloc/malloc.h b/vespamalloc/src/vespamalloc/malloc/malloc.h
index 449dce29896..8e0a39e944b 100644
--- a/vespamalloc/src/vespamalloc/malloc/malloc.h
+++ b/vespamalloc/src/vespamalloc/malloc/malloc.h
@@ -25,7 +25,6 @@ public:
}
size_t getMaxNumThreads() const override { return _threadList.getMaxNumThreads(); }
- int mallopt(int param, int value);
void *malloc(size_t sz);
void *malloc(size_t sz, std::align_val_t);
void *realloc(void *oldPtr, size_t sz);
@@ -150,11 +149,6 @@ void MemoryManager<MemBlockPtrT, ThreadListT>::info(FILE * os, size_t level)
}
template <typename MemBlockPtrT, typename ThreadListT>
-int MemoryManager<MemBlockPtrT, ThreadListT>::mallopt(int param, int value) {
- return _threadList.getCurrent().mallopt(param, value);
-}
-
-template <typename MemBlockPtrT, typename ThreadListT>
void * MemoryManager<MemBlockPtrT, ThreadListT>::malloc(size_t sz)
{
MemBlockPtrT mem;
@@ -211,7 +205,7 @@ void MemoryManager<MemBlockPtrT, ThreadListT>::freeSC(void *ptr, SizeClassT sc)
template <typename MemBlockPtrT, typename ThreadListT>
void * MemoryManager<MemBlockPtrT, ThreadListT>::realloc(void *oldPtr, size_t sz)
{
- void *ptr(nullptr);
+ void *ptr(NULL);
if (oldPtr) {
MemBlockPtrT mem(oldPtr);
mem.readjustAlignment(_segment);
diff --git a/vespamalloc/src/vespamalloc/malloc/overload.h b/vespamalloc/src/vespamalloc/malloc/overload.h
index 7d9c2b9c72e..69d95ef5cdc 100644
--- a/vespamalloc/src/vespamalloc/malloc/overload.h
+++ b/vespamalloc/src/vespamalloc/malloc/overload.h
@@ -4,7 +4,7 @@
#include <dlfcn.h>
#include <errno.h>
#include <new>
-#include <cstdlib>
+#include <stdlib.h>
#include <malloc.h>
class CreateAllocator
@@ -140,11 +140,6 @@ struct mallinfo mallinfo() __THROW {
}
#endif
-int mallopt(int param, int value) throw() __attribute((visibility("default")));
-int mallopt(int param, int value) throw() {
- return vespamalloc::createAllocator()->mallopt(param, value);
-}
-
void * malloc(size_t sz) __attribute((visibility("default")));
void * malloc(size_t sz) {
return vespamalloc::createAllocator()->malloc(sz);
diff --git a/vespamalloc/src/vespamalloc/malloc/threadpool.h b/vespamalloc/src/vespamalloc/malloc/threadpool.h
index ec89079a415..ac4f5bb8551 100644
--- a/vespamalloc/src/vespamalloc/malloc/threadpool.h
+++ b/vespamalloc/src/vespamalloc/malloc/threadpool.h
@@ -19,7 +19,6 @@ public:
void setPool(AllocPool & pool) {
_allocPool = & pool;
}
- int mallopt(int param, int value);
void malloc(size_t sz, MemBlockPtrT & mem);
void free(MemBlockPtrT mem, SizeClassT sc);
@@ -66,7 +65,6 @@ private:
static constexpr bool alwaysReuse(SizeClassT sc) { return sc > ALWAYS_REUSE_SC_LIMIT; }
AllocPool * _allocPool;
- ssize_t _mmapLimit;
AllocFree _memList[NUM_SIZE_CLASSES];
ThreadStatT _stat[NUM_SIZE_CLASSES];
uint32_t _threadId;
diff --git a/vespamalloc/src/vespamalloc/malloc/threadpool.hpp b/vespamalloc/src/vespamalloc/malloc/threadpool.hpp
index a3691a496dd..7e86c3f691a 100644
--- a/vespamalloc/src/vespamalloc/malloc/threadpool.hpp
+++ b/vespamalloc/src/vespamalloc/malloc/threadpool.hpp
@@ -2,7 +2,6 @@
#pragma once
#include <vespamalloc/malloc/threadpool.h>
-#include <malloc.h>
namespace vespamalloc {
@@ -86,7 +85,6 @@ mallocHelper(size_t exactSize,
template <typename MemBlockPtrT, typename ThreadStatT >
ThreadPoolT<MemBlockPtrT, ThreadStatT>::ThreadPoolT() :
_allocPool(nullptr),
- _mmapLimit(-1),
_threadId(0),
_osThreadId(0)
{
@@ -96,15 +94,6 @@ 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);