Skip to content

Commit bf33da8

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

File tree

3 files changed

+42
-29
lines changed

3 files changed

+42
-29
lines changed

test/CMakeLists.txt

Lines changed: 37 additions & 17 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
@@ -223,7 +237,7 @@ if(LINUX AND (NOT UMF_DISABLE_HWLOC)) # OS-specific functions are implemented
223237

224238
add_umf_test(
225239
NAME provider_os_memory
226-
SRCS provider_os_memory.cpp
240+
SRCS provider_os_memory.cpp ${BA_SOURCES_FOR_TEST}
227241
LIBS ${UMF_UTILS_FOR_TEST})
228242
if(UMF_BUILD_LIBUMF_POOL_DISJOINT)
229243
target_compile_definitions(umf_test-provider_os_memory
@@ -277,7 +291,7 @@ if(LINUX AND (NOT UMF_DISABLE_HWLOC)) # OS-specific functions are implemented
277291
LIBS ${UMF_UTILS_FOR_TEST})
278292
add_umf_test(
279293
NAME provider_devdax_memory_ipc
280-
SRCS provider_devdax_memory_ipc.cpp
294+
SRCS provider_devdax_memory_ipc.cpp ${BA_SOURCES_FOR_TEST}
281295
LIBS ${UMF_UTILS_FOR_TEST} ${LIB_JEMALLOC_POOL})
282296
add_umf_test(
283297
NAME provider_file_memory
@@ -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)
@@ -318,13 +336,15 @@ if(UMF_BUILD_GPU_TESTS AND UMF_BUILD_LEVEL_ZERO_PROVIDER)
318336
add_umf_test(
319337
NAME provider_level_zero
320338
SRCS providers/provider_level_zero.cpp providers/level_zero_helpers.cpp
339+
${BA_SOURCES_FOR_TEST}
321340
LIBS ${UMF_UTILS_FOR_TEST} ze_loader)
322341
target_include_directories(umf_test-provider_level_zero
323342
PRIVATE ${LEVEL_ZERO_INCLUDE_DIRS})
324343

325344
add_umf_test(
326345
NAME provider_level_zero_dlopen
327346
SRCS providers/provider_level_zero.cpp providers/level_zero_helpers.cpp
347+
${BA_SOURCES_FOR_TEST}
328348
LIBS ${UMF_UTILS_FOR_TEST})
329349
target_compile_definitions(umf_test-provider_level_zero_dlopen
330350
PUBLIC USE_DLOPEN=1)
@@ -340,6 +360,7 @@ if(UMF_BUILD_GPU_TESTS AND UMF_BUILD_CUDA_PROVIDER)
340360
add_umf_test(
341361
NAME provider_cuda
342362
SRCS providers/provider_cuda.cpp providers/cuda_helpers.cpp
363+
${BA_SOURCES_FOR_TEST}
343364
LIBS ${UMF_UTILS_FOR_TEST} cuda)
344365
target_include_directories(umf_test-provider_cuda
345366
PRIVATE ${CUDA_INCLUDE_DIRS})
@@ -349,6 +370,7 @@ if(UMF_BUILD_GPU_TESTS AND UMF_BUILD_CUDA_PROVIDER)
349370
add_umf_test(
350371
NAME provider_cuda_dlopen
351372
SRCS providers/provider_cuda.cpp providers/cuda_helpers.cpp
373+
${BA_SOURCES_FOR_TEST}
352374
LIBS ${UMF_UTILS_FOR_TEST})
353375
target_compile_definitions(umf_test-provider_cuda_dlopen
354376
PUBLIC USE_DLOPEN=1)
@@ -362,11 +384,6 @@ if(UMF_BUILD_GPU_TESTS AND UMF_BUILD_CUDA_PROVIDER)
362384
endif()
363385
endif()
364386

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-
370387
add_umf_test(
371388
NAME base_alloc
372389
SRCS ${BA_SOURCES_FOR_TEST} test_base_alloc.cpp
@@ -402,7 +419,10 @@ if(UMF_PROXY_LIB_ENABLED
402419
PUBLIC UMF_PROXY_LIB_ENABLED=1)
403420
endif()
404421

405-
add_umf_test(NAME ipc SRCS ipcAPI.cpp)
422+
add_umf_test(
423+
NAME ipc
424+
SRCS ipcAPI.cpp ${BA_SOURCES_FOR_TEST}
425+
LIBS ${UMF_UTILS_FOR_TEST})
406426

407427
add_umf_test(NAME ipc_negative SRCS ipc_negative.cpp)
408428

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)