Skip to content

Commit 7db90a9

Browse files
committed
use Pool instead of Provider IPC API in tests
1 parent 0420d07 commit 7db90a9

File tree

2 files changed

+29
-18
lines changed

2 files changed

+29
-18
lines changed

test/common/ipc_common.c

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,9 @@ int run_consumer(int port, umf_memory_provider_ops_t *provider_ops,
131131
return -1;
132132
}
133133

134+
umf_memory_pool_handle_t pool;
135+
umf_result = umfPoolCreate(umfScalablePoolOps(), provider, NULL, 0, &pool);
136+
134137
producer_socket = consumer_connect(port);
135138
if (producer_socket < 0) {
136139
goto err_umfMemoryProviderDestroy;
@@ -183,7 +186,7 @@ int run_consumer(int port, umf_memory_provider_ops_t *provider_ops,
183186
len);
184187

185188
void *SHM_ptr;
186-
umf_result = umfMemoryProviderOpenIPCHandle(provider, IPC_handle, &SHM_ptr);
189+
umf_result = umfOpenIPCHandle(pool, IPC_handle, &SHM_ptr);
187190
if (umf_result == UMF_RESULT_ERROR_NOT_SUPPORTED) {
188191
fprintf(stderr,
189192
"[consumer] SKIP: opening the IPC handle is not supported\n");
@@ -240,8 +243,7 @@ int run_consumer(int port, umf_memory_provider_ops_t *provider_ops,
240243

241244
err_closeIPCHandle:
242245
// we do not know the exact size of the remote shared memory
243-
umf_result = umfMemoryProviderCloseIPCHandle(provider, SHM_ptr,
244-
sizeof(unsigned long long));
246+
umf_result = umfCloseIPCHandle(pool, SHM_ptr, sizeof(unsigned long long));
245247
if (umf_result != UMF_RESULT_SUCCESS) {
246248
fprintf(stderr, "[consumer] ERROR: closing the IPC handle failed\n");
247249
}
@@ -254,6 +256,7 @@ int run_consumer(int port, umf_memory_provider_ops_t *provider_ops,
254256

255257
err_umfMemoryProviderDestroy:
256258
umfMemoryProviderDestroy(provider);
259+
umfPoolDestroy(pool);
257260

258261
if (ret == 0) {
259262
fprintf(stderr, "[consumer] Shutting down (status OK) ...\n");
@@ -321,6 +324,9 @@ int run_producer(int port, umf_memory_provider_ops_t *provider_ops,
321324
return -1;
322325
}
323326

327+
umf_memory_pool_handle_t pool;
328+
umf_result = umfPoolCreate(umfScalablePoolOps(), provider, NULL, 0, &pool);
329+
324330
size_t page_size;
325331
umf_result = umfMemoryProviderGetMinPageSize(provider, NULL, &page_size);
326332
if (umf_result != UMF_RESULT_SUCCESS) {
@@ -335,28 +341,27 @@ int run_producer(int port, umf_memory_provider_ops_t *provider_ops,
335341
size_t ptr2_size = 2 * page_size;
336342
size_t size_IPC_shared_memory = 3 * page_size;
337343

338-
umf_result = umfMemoryProviderAlloc(provider, ptr1_size, 0, &ptr1);
339-
if (umf_result != UMF_RESULT_SUCCESS) {
344+
ptr1 = umfPoolMalloc(pool, ptr1_size);
345+
if (ptr1 == NULL) {
340346
fprintf(stderr, "[producer] ERROR: allocating 1 page failed\n");
341347
goto err_umfMemoryProviderDestroy;
342348
}
343349

344-
umf_result = umfMemoryProviderAlloc(provider, ptr2_size, 0, &ptr2);
345-
if (umf_result != UMF_RESULT_SUCCESS) {
350+
ptr2 = umfPoolMalloc(pool, ptr2_size);
351+
if (ptr2 == NULL) {
346352
fprintf(stderr, "[producer] ERROR: allocating 2 pages failed\n");
347353
goto err_free_ptr1;
348354
}
349355

350-
umf_result = umfMemoryProviderAlloc(provider, size_IPC_shared_memory, 0,
351-
&IPC_shared_memory);
352-
if (umf_result != UMF_RESULT_SUCCESS) {
356+
IPC_shared_memory = umfPoolMalloc(pool, size_IPC_shared_memory);
357+
if (IPC_shared_memory == NULL) {
353358
fprintf(stderr, "[producer] ERROR: allocating 3 pages failed\n");
354359
goto err_free_ptr2;
355360
}
356361

357362
// get size of the IPC handle
358363
size_t IPC_handle_size;
359-
umf_result = umfMemoryProviderGetIPCHandleSize(provider, &IPC_handle_size);
364+
umf_result = umfPoolGetIPCHandleSize(pool, &IPC_handle_size);
360365
if (umf_result != UMF_RESULT_SUCCESS) {
361366
fprintf(stderr,
362367
"[producer] ERROR: getting size of the IPC handle failed\n");
@@ -383,8 +388,8 @@ int run_producer(int port, umf_memory_provider_ops_t *provider_ops,
383388
SHM_number_1);
384389

385390
// get the IPC handle from the OS memory provider
386-
umf_result = umfMemoryProviderGetIPCHandle(
387-
provider, IPC_shared_memory, size_IPC_shared_memory, IPC_handle);
391+
umf_result = umfGetIPCHandle(pool, IPC_shared_memory,
392+
size_IPC_shared_memory, IPC_handle);
388393
if (umf_result != UMF_RESULT_SUCCESS) {
389394
fprintf(stderr,
390395
"[producer] ERROR: getting the IPC handle from the OS memory "
@@ -494,7 +499,7 @@ int run_producer(int port, umf_memory_provider_ops_t *provider_ops,
494499
close(producer_socket);
495500

496501
err_PutIPCHandle:
497-
umf_result = umfMemoryProviderPutIPCHandle(provider, IPC_handle);
502+
umf_result = umfPutIPCHandle(provider, IPC_handle);
498503
if (umf_result != UMF_RESULT_SUCCESS) {
499504
fprintf(stderr, "[producer] ERROR: putting the IPC handle failed\n");
500505
}
@@ -503,15 +508,19 @@ int run_producer(int port, umf_memory_provider_ops_t *provider_ops,
503508

504509
err_free_IPC_handle:
505510
free(IPC_handle);
511+
506512
err_free_IPC_shared_memory:
507-
(void)umfMemoryProviderFree(provider, IPC_shared_memory,
508-
size_IPC_shared_memory);
513+
(void)umfFree(IPC_shared_memory);
514+
509515
err_free_ptr2:
510-
(void)umfMemoryProviderFree(provider, ptr2, ptr2_size);
516+
(void)umfFree(ptr2);
517+
511518
err_free_ptr1:
512-
(void)umfMemoryProviderFree(provider, ptr1, ptr1_size);
519+
(void)umfFree(ptr1);
520+
513521
err_umfMemoryProviderDestroy:
514522
umfMemoryProviderDestroy(provider);
523+
umfPoolDestroy(pool);
515524

516525
if (ret == 0) {
517526
fprintf(stderr, "[producer] Shutting down (status OK) ...\n");

test/common/ipc_common.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
#ifndef UMF_TEST_IPC_COMMON_H
99
#define UMF_TEST_IPC_COMMON_H
1010

11+
#include <umf/memory_pool.h>
1112
#include <umf/memory_provider.h>
13+
#include <umf/pools/pool_scalable.h>
1214

1315
// pointer to the function that returns void and accept two int values
1416
typedef void (*memcopy_callback_t)(void *dst, const void *src, size_t size,

0 commit comments

Comments
 (0)