Skip to content

Commit 86a149b

Browse files
committed
Use umf_ba_global_() API in MALLOC_PROVIDER_OPS
Signed-off-by: Lukasz Dorau <[email protected]>
1 parent 4a2136e commit 86a149b

File tree

3 files changed

+36
-27
lines changed

3 files changed

+36
-27
lines changed

test/CMakeLists.txt

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -150,12 +150,20 @@ if(UMF_POOL_JEMALLOC_ENABLED)
150150
set(LIB_JEMALLOC_POOL jemalloc_pool)
151151
endif()
152152

153+
if(UMF_BUILD_SHARED_LIBRARY)
154+
# if build as shared library, ba symbols won't be visible in tests
155+
set(BA_SOURCES_FOR_TEST ${BA_SOURCES})
156+
endif()
157+
153158
add_umf_test(NAME base SRCS base.cpp)
154159
add_umf_test(
155160
NAME memoryPool
156-
SRCS memoryPoolAPI.cpp malloc_compliance_tests.cpp
161+
SRCS memoryPoolAPI.cpp malloc_compliance_tests.cpp ${BA_SOURCES_FOR_TEST}
162+
LIBS ${UMF_UTILS_FOR_TEST})
163+
add_umf_test(
164+
NAME memoryProvider
165+
SRCS memoryProviderAPI.cpp ${BA_SOURCES_FOR_TEST}
157166
LIBS ${UMF_UTILS_FOR_TEST})
158-
add_umf_test(NAME memoryProvider SRCS memoryProviderAPI.cpp)
159167
add_umf_test(
160168
NAME logger
161169
SRCS utils/utils_log.cpp ${UMF_UTILS_SOURCES}
@@ -173,7 +181,10 @@ if(LINUX)
173181
LIBS ${UMF_UTILS_FOR_TEST})
174182
endif()
175183

176-
add_umf_test(NAME provider_coarse SRCS provider_coarse.cpp)
184+
add_umf_test(
185+
NAME provider_coarse
186+
SRCS provider_coarse.cpp ${BA_SOURCES_FOR_TEST}
187+
LIBS ${UMF_UTILS_FOR_TEST})
177188

178189
if(UMF_BUILD_LIBUMF_POOL_DISJOINT)
179190
add_umf_test(
@@ -208,8 +219,11 @@ if(UMF_POOL_JEMALLOC_ENABLED AND (NOT UMF_DISABLE_HWLOC))
208219
endif()
209220

210221
if(UMF_POOL_SCALABLE_ENABLED AND (NOT UMF_DISABLE_HWLOC))
211-
add_umf_test(NAME scalable_pool SRCS pools/scalable_pool.cpp
212-
malloc_compliance_tests.cpp)
222+
add_umf_test(
223+
NAME scalable_pool
224+
SRCS pools/scalable_pool.cpp malloc_compliance_tests.cpp
225+
${BA_SOURCES_FOR_TEST}
226+
LIBS ${UMF_UTILS_FOR_TEST})
213227
endif()
214228

215229
if(LINUX AND (NOT UMF_DISABLE_HWLOC)) # OS-specific functions are implemented
@@ -299,11 +313,15 @@ if(LINUX AND (NOT UMF_DISABLE_HWLOC)) # OS-specific functions are implemented
299313
# This test requires Linux-only file memory provider
300314
if(UMF_POOL_SCALABLE_ENABLED)
301315
add_umf_test(
302-
NAME scalable_coarse_file SRCS pools/scalable_coarse_file.cpp
303-
malloc_compliance_tests.cpp)
316+
NAME scalable_coarse_file
317+
SRCS pools/scalable_coarse_file.cpp malloc_compliance_tests.cpp
318+
${BA_SOURCES_FOR_TEST}
319+
LIBS ${UMF_UTILS_FOR_TEST})
304320
add_umf_test(
305-
NAME scalable_coarse_devdax SRCS pools/scalable_coarse_devdax.cpp
306-
malloc_compliance_tests.cpp)
321+
NAME scalable_coarse_devdax
322+
SRCS pools/scalable_coarse_devdax.cpp malloc_compliance_tests.cpp
323+
${BA_SOURCES_FOR_TEST}
324+
LIBS ${UMF_UTILS_FOR_TEST})
307325
endif()
308326

309327
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND UMF_BUILD_FUZZTESTS)
@@ -362,11 +380,6 @@ if(UMF_BUILD_GPU_TESTS AND UMF_BUILD_CUDA_PROVIDER)
362380
endif()
363381
endif()
364382

365-
if(UMF_BUILD_SHARED_LIBRARY)
366-
# if build as shared library, ba symbols won't be visible in tests
367-
set(BA_SOURCES_FOR_TEST ${BA_SOURCES})
368-
endif()
369-
370383
add_umf_test(
371384
NAME base_alloc
372385
SRCS ${BA_SOURCES_FOR_TEST} test_base_alloc.cpp
@@ -402,7 +415,10 @@ if(UMF_PROXY_LIB_ENABLED
402415
PUBLIC UMF_PROXY_LIB_ENABLED=1)
403416
endif()
404417

405-
add_umf_test(NAME ipc SRCS ipcAPI.cpp)
418+
add_umf_test(
419+
NAME ipc
420+
SRCS ipcAPI.cpp ${BA_SOURCES_FOR_TEST}
421+
LIBS ${UMF_UTILS_FOR_TEST})
406422

407423
function(add_umf_ipc_test)
408424
# Parameters: * TEST - a name of the test * SRC_DIR - source files directory

test/common/provider.hpp

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include <umf/memory_provider.h>
1515

1616
#include "base.hpp"
17+
#include "base_alloc_global.h"
1718
#include "cpp_helpers.hpp"
1819
#include "test_helpers.h"
1920

@@ -110,24 +111,16 @@ struct provider_malloc : public provider_base_t {
110111
// error because of this issue.
111112
size_t aligned_size = ALIGN_UP(size, align);
112113

113-
#ifdef _WIN32
114-
*ptr = _aligned_malloc(aligned_size, align);
115-
#else
116-
*ptr = ::aligned_alloc(align, aligned_size);
117-
#endif
114+
*ptr = umf_ba_global_aligned_alloc(aligned_size, align);
118115

119116
return (*ptr) ? UMF_RESULT_SUCCESS
120117
: UMF_RESULT_ERROR_OUT_OF_HOST_MEMORY;
121118
}
122119
umf_result_t free(void *ptr, size_t) noexcept {
123-
#ifdef _WIN32
124-
_aligned_free(ptr);
125-
#else
126-
::free(ptr);
127-
#endif
120+
umf_ba_global_free(ptr);
128121
return UMF_RESULT_SUCCESS;
129122
}
130-
const char *get_name() noexcept { return "malloc"; }
123+
const char *get_name() noexcept { return "umf_ba_global"; }
131124
};
132125

133126
umf_memory_provider_ops_t MALLOC_PROVIDER_OPS =

test/provider_coarse.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ using umf_test::test;
1717

1818
#define GetStats umfCoarseMemoryProviderGetStats
1919

20-
#define UPSTREAM_NAME "malloc"
20+
#define UPSTREAM_NAME "umf_ba_global"
2121
#define BASE_NAME "coarse"
2222
#define COARSE_NAME BASE_NAME " (" UPSTREAM_NAME ")"
2323

0 commit comments

Comments
 (0)