|
14 | 14 | #include <umf/memory_pool.h>
|
15 | 15 | #include <umf/memory_provider.h>
|
16 | 16 | #include <umf/pools/pool_proxy.h>
|
| 17 | +#include <umf/providers/provider_coarse.h> |
| 18 | +#include <umf/providers/provider_devdax_memory.h> |
| 19 | +#include <umf/providers/provider_file_memory.h> |
17 | 20 |
|
18 | 21 | #include <cstring>
|
19 | 22 | #include <numeric>
|
@@ -80,6 +83,22 @@ struct umfIpcTest : umf_test::test,
|
80 | 83 | umfMemoryProviderCreate(providerOps, providerParams, &hProvider);
|
81 | 84 | EXPECT_EQ(ret, UMF_RESULT_SUCCESS);
|
82 | 85 |
|
| 86 | + if (providerOps == umfDevDaxMemoryProviderOps() || |
| 87 | + providerOps == umfFileMemoryProviderOps()) { |
| 88 | + coarse_memory_provider_params_t coarseParams = |
| 89 | + umfCoarseMemoryProviderParamsDefault(); |
| 90 | + coarseParams.upstream_memory_provider = hProvider; |
| 91 | + coarseParams.destroy_upstream_memory_provider = true; |
| 92 | + |
| 93 | + umf_memory_provider_handle_t coarse_provider = nullptr; |
| 94 | + ret = umfMemoryProviderCreate(umfCoarseMemoryProviderOps(), |
| 95 | + &coarseParams, &coarse_provider); |
| 96 | + EXPECT_EQ(ret, UMF_RESULT_SUCCESS); |
| 97 | + EXPECT_NE(coarse_provider, nullptr); |
| 98 | + |
| 99 | + hProvider = coarse_provider; |
| 100 | + } |
| 101 | + |
83 | 102 | auto trace = [](void *trace_context, const char *name) {
|
84 | 103 | stats_type *stat = static_cast<stats_type *>(trace_context);
|
85 | 104 | if (std::strcmp(name, "alloc") == 0) {
|
|
0 commit comments