10
10
#include " pool.hpp"
11
11
#include " test_helpers.h"
12
12
13
+ #include " umf/providers/provider_devdax_memory.h"
13
14
#include < umf/ipc.h>
14
15
#include < umf/memory_pool.h>
15
16
#include < umf/memory_provider.h>
@@ -62,6 +63,13 @@ struct umfIpcTest : umf_test::test,
62
63
providerOps = provider_ops;
63
64
providerParams = provider_params;
64
65
memAccessor = accessor;
66
+
67
+ if (provider_ops == umfDevDaxMemoryProviderOps ()) {
68
+ // the minimum size for a /dev/dax device is the page size == 2MB
69
+ COMMON_SIZE = 2 * 1024 * 1024 ; // 2MB
70
+ } else {
71
+ COMMON_SIZE = 100 ;
72
+ }
65
73
}
66
74
67
75
void TearDown () override { test::TearDown (); }
@@ -120,6 +128,7 @@ struct umfIpcTest : umf_test::test,
120
128
void *poolParams = nullptr ;
121
129
umf_memory_provider_ops_t *providerOps = nullptr ;
122
130
void *providerParams = nullptr ;
131
+ size_t COMMON_SIZE;
123
132
};
124
133
125
134
TEST_P (umfIpcTest, GetIPCHandleSize) {
@@ -142,7 +151,7 @@ TEST_P(umfIpcTest, GetIPCHandleSizeInvalidArgs) {
142
151
}
143
152
144
153
TEST_P (umfIpcTest, GetIPCHandleInvalidArgs) {
145
- constexpr size_t SIZE = 100 ;
154
+ size_t SIZE = COMMON_SIZE ;
146
155
umf_ipc_handle_t ipcHandle = nullptr ;
147
156
size_t handleSize = 0 ;
148
157
umf_result_t ret = umfGetIPCHandle (nullptr , &ipcHandle, &handleSize);
@@ -167,7 +176,7 @@ TEST_P(umfIpcTest, GetIPCHandleInvalidArgs) {
167
176
}
168
177
169
178
TEST_P (umfIpcTest, BasicFlow) {
170
- constexpr size_t SIZE = 100 ;
179
+ size_t SIZE = COMMON_SIZE ;
171
180
std::vector<int > expected_data (SIZE);
172
181
umf::pool_unique_handle_t pool = makePool ();
173
182
int *ptr = (int *)umfPoolMalloc (pool.get (), SIZE * sizeof (int ));
@@ -229,7 +238,7 @@ TEST_P(umfIpcTest, BasicFlow) {
229
238
}
230
239
231
240
TEST_P (umfIpcTest, GetPoolByOpenedHandle) {
232
- constexpr size_t SIZE = 100 ;
241
+ size_t SIZE = COMMON_SIZE ;
233
242
constexpr size_t NUM_ALLOCS = 100 ;
234
243
constexpr size_t NUM_POOLS = 4 ;
235
244
void *ptrs[NUM_ALLOCS];
@@ -287,7 +296,7 @@ TEST_P(umfIpcTest, GetPoolByOpenedHandle) {
287
296
}
288
297
289
298
TEST_P (umfIpcTest, AllocFreeAllocTest) {
290
- constexpr size_t SIZE = 64 * 1024 ;
299
+ size_t SIZE = ( 64 * 1024 > COMMON_SIZE) ? 64 * 1024 : COMMON_SIZE ;
291
300
umf::pool_unique_handle_t pool = makePool ();
292
301
void *ptr = umfPoolMalloc (pool.get (), SIZE);
293
302
EXPECT_NE (ptr, nullptr );
@@ -340,7 +349,7 @@ TEST_P(umfIpcTest, AllocFreeAllocTest) {
340
349
}
341
350
342
351
TEST_P (umfIpcTest, openInTwoPools) {
343
- constexpr size_t SIZE = 100 ;
352
+ size_t SIZE = COMMON_SIZE ;
344
353
std::vector<int > expected_data (SIZE);
345
354
umf::pool_unique_handle_t pool1 = makePool ();
346
355
umf::pool_unique_handle_t pool2 = makePool ();
@@ -394,7 +403,7 @@ TEST_P(umfIpcTest, openInTwoPools) {
394
403
395
404
TEST_P (umfIpcTest, ConcurrentGetPutHandles) {
396
405
std::vector<void *> ptrs;
397
- constexpr size_t ALLOC_SIZE = 100 ;
406
+ size_t ALLOC_SIZE = COMMON_SIZE ;
398
407
constexpr size_t NUM_POINTERS = 100 ;
399
408
umf::pool_unique_handle_t pool = makePool ();
400
409
@@ -442,7 +451,7 @@ TEST_P(umfIpcTest, ConcurrentGetPutHandles) {
442
451
443
452
TEST_P (umfIpcTest, ConcurrentOpenCloseHandles) {
444
453
std::vector<void *> ptrs;
445
- constexpr size_t ALLOC_SIZE = 100 ;
454
+ size_t ALLOC_SIZE = COMMON_SIZE ;
446
455
constexpr size_t NUM_POINTERS = 100 ;
447
456
umf::pool_unique_handle_t pool = makePool ();
448
457
0 commit comments