Skip to content

Commit 96bb935

Browse files
committed
x
1 parent 73a7ff8 commit 96bb935

File tree

7 files changed

+40
-44
lines changed

7 files changed

+40
-44
lines changed

src/ipc.c

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,19 +58,19 @@ umf_result_t umfGetIPCHandle(const void *ptr, umf_ipc_handle_t *umfIPCHandle,
5858
}
5959

6060
size_t ipcHandleSize = 0;
61-
umf_alloc_info_t allocInfo = {NULL};
62-
umf_result_t ret = umfMemoryTrackerGetAllocInfo(ptr, &allocInfo);
61+
umf_memory_properties_handle_t props = NULL;
62+
umf_result_t ret = umfMemoryTrackerGetAllocProps(ptr, &props);
6363
if (ret != UMF_RESULT_SUCCESS) {
64-
LOG_ERR("cannot get alloc info for ptr = %p.", ptr);
64+
LOG_ERR("cannot get alloc props for ptr = %p.", ptr);
6565
return ret;
6666
}
6767

68-
if (allocInfo.props == NULL || allocInfo.props->pool == NULL) {
68+
if (props == NULL || props->pool == NULL) {
6969
LOG_ERR("cannot get pool from alloc info for ptr = %p.", ptr);
7070
return UMF_RESULT_ERROR_UNKNOWN;
7171
}
7272

73-
ret = umfPoolGetIPCHandleSize(allocInfo.props->pool, &ipcHandleSize);
73+
ret = umfPoolGetIPCHandleSize(props->pool, &ipcHandleSize);
7474
if (ret != UMF_RESULT_SUCCESS) {
7575
LOG_ERR("cannot get IPC handle size.");
7676
return ret;
@@ -84,16 +84,14 @@ umf_result_t umfGetIPCHandle(const void *ptr, umf_ipc_handle_t *umfIPCHandle,
8484

8585
// We cannot use umfPoolGetMemoryProvider function because it returns
8686
// upstream provider but we need tracking one
87-
if (allocInfo.props == NULL || allocInfo.props->pool == NULL ||
88-
allocInfo.props->pool->provider == NULL) {
87+
if (props == NULL || props->pool == NULL || props->pool->provider == NULL) {
8988
LOG_ERR("cannot get memory provider from pool");
9089
umf_ba_global_free(ipcData);
9190
return UMF_RESULT_ERROR_UNKNOWN;
9291
}
93-
umf_memory_provider_handle_t provider = allocInfo.props->pool->provider;
92+
umf_memory_provider_handle_t provider = props->pool->provider;
9493

95-
ret = umfMemoryProviderGetIPCHandle(provider, allocInfo.props->base,
96-
allocInfo.props->base_size,
94+
ret = umfMemoryProviderGetIPCHandle(provider, props->base, props->base_size,
9795
(void *)ipcData->providerIpcData);
9896
if (ret != UMF_RESULT_SUCCESS) {
9997
LOG_ERR("failed to get IPC handle.");
@@ -102,10 +100,10 @@ umf_result_t umfGetIPCHandle(const void *ptr, umf_ipc_handle_t *umfIPCHandle,
102100
}
103101

104102
// ipcData->handle_id is filled by tracking provider
105-
ipcData->base = allocInfo.props->base;
103+
ipcData->base = props->base;
106104
ipcData->pid = utils_getpid();
107-
ipcData->baseSize = allocInfo.props->base_size;
108-
ipcData->offset = (uintptr_t)ptr - (uintptr_t)allocInfo.props->base;
105+
ipcData->baseSize = props->base_size;
106+
ipcData->offset = (uintptr_t)ptr - (uintptr_t)props->base;
109107

110108
*umfIPCHandle = ipcData;
111109
*size = ipcHandleSize;

src/memory_props.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,13 @@ umfGetMemoryPropertiesHandle(const void *ptr,
2323
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
2424
}
2525

26-
umf_alloc_info_t allocInfo = {NULL};
27-
umf_result_t ret = umfMemoryTrackerGetAllocInfo(ptr, &allocInfo);
26+
// TODO remove
27+
umf_memory_properties_handle_t props = NULL;
28+
umf_result_t ret = umfMemoryTrackerGetAllocProps(ptr, &props_handle);
2829
if (ret != UMF_RESULT_SUCCESS) {
2930
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
3031
}
3132

32-
*props_handle = allocInfo.props;
33-
3433
return UMF_RESULT_SUCCESS;
3534
}
3635

src/pool/pool_disjoint.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -884,19 +884,19 @@ size_t disjoint_pool_malloc_usable_size(void *pool, const void *ptr) {
884884
critnib_release(disjoint_pool->known_slabs, ref_slab);
885885
}
886886

887-
umf_alloc_info_t allocInfo = {NULL};
888-
umf_result_t ret = umfMemoryTrackerGetAllocInfo(ptr, &allocInfo);
889-
if (ret != UMF_RESULT_SUCCESS) {
887+
umf_memory_properties_handle_t props = NULL;
888+
umf_result_t umf_result = umfMemoryTrackerGetAllocProps(ptr, &props);
889+
if (umf_result != UMF_RESULT_SUCCESS) {
890890
return 0;
891891
}
892892

893-
if (allocInfo.props == NULL) {
893+
if (props == NULL) {
894894
TLS_last_allocation_error = UMF_RESULT_ERROR_UNKNOWN;
895895
LOG_ERR("failed to get allocation info from the memory tracker");
896896
return 0;
897897
}
898898

899-
return allocInfo.props->base_size;
899+
return props->base_size;
900900
}
901901

902902
// Get the unaligned pointer
@@ -931,21 +931,21 @@ umf_result_t disjoint_pool_free(void *pool, void *ptr) {
931931
critnib_release(disjoint_pool->known_slabs, ref_slab);
932932
}
933933

934-
umf_alloc_info_t allocInfo = {NULL};
935-
umf_result_t ret = umfMemoryTrackerGetAllocInfo(ptr, &allocInfo);
934+
umf_memory_properties_handle_t props = NULL;
935+
umf_result_t ret = umfMemoryTrackerGetAllocProps(ptr, &props);
936936
if (ret != UMF_RESULT_SUCCESS) {
937937
TLS_last_allocation_error = ret;
938938
LOG_ERR("failed to get allocation info from the memory tracker");
939939
return ret;
940940
}
941941

942-
if (allocInfo.props == NULL) {
942+
if (props == NULL) {
943943
TLS_last_allocation_error = UMF_RESULT_ERROR_UNKNOWN;
944944
LOG_ERR("failed to get allocation info from the memory tracker");
945945
return UMF_RESULT_ERROR_UNKNOWN;
946946
}
947947

948-
size_t size = allocInfo.props->base_size;
948+
size_t size = props->base_size;
949949
umf_memory_provider_handle_t provider = disjoint_pool->provider;
950950
ret = umfMemoryProviderFree(provider, ptr, size);
951951
if (ret != UMF_RESULT_SUCCESS) {

src/pool/pool_proxy.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,22 +97,22 @@ static umf_result_t proxy_free(void *pool, void *ptr) {
9797
struct proxy_memory_pool *hPool = (struct proxy_memory_pool *)pool;
9898

9999
if (ptr) {
100-
umf_alloc_info_t allocInfo = {NULL};
101-
umf_result_t umf_result = umfMemoryTrackerGetAllocInfo(ptr, &allocInfo);
100+
umf_memory_properties_handle_t props = NULL;
101+
umf_result_t umf_result = umfMemoryTrackerGetAllocProps(ptr, &props);
102102

103103
if (umf_result != UMF_RESULT_SUCCESS) {
104104
TLS_last_allocation_error = umf_result;
105105
LOG_ERR("failed to get allocation info from the memory tracker");
106106
return umf_result;
107107
}
108108

109-
if (allocInfo.props == NULL) {
109+
if (props == NULL) {
110110
TLS_last_allocation_error = UMF_RESULT_ERROR_UNKNOWN;
111111
LOG_ERR("failed to get allocation info from the memory tracker");
112112
return UMF_RESULT_ERROR_UNKNOWN;
113113
}
114114

115-
size = allocInfo.props->base_size;
115+
size = props->base_size;
116116
}
117117

118118
return umfMemoryProviderFree(hPool->hProvider, ptr, size);

src/provider/provider_cuda.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,7 @@ static umf_result_t cu_memory_provider_get_allocation_properties(
682682
void *provider, const void *ptr,
683683
umf_memory_property_id_t memory_property_id, void *value) {
684684

685+
// unused
685686
(void)ptr;
686687

687688
cu_memory_provider_t *cuda_provider = (cu_memory_provider_t *)provider;

src/provider/provider_tracking.c

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -471,18 +471,19 @@ umfMemoryTrackerRemoveIpcSegment(umf_memory_tracker_handle_t hTracker,
471471
}
472472

473473
umf_memory_pool_handle_t umfMemoryTrackerGetPool(const void *ptr) {
474-
umf_alloc_info_t allocInfo = {NULL};
475-
umf_result_t ret = umfMemoryTrackerGetAllocInfo(ptr, &allocInfo);
476-
if (ret != UMF_RESULT_SUCCESS || allocInfo.props == NULL) {
474+
umf_memory_properties_handle_t props = NULL;
475+
umf_result_t ret = umfMemoryTrackerGetAllocProps(ptr, &props);
476+
if (ret != UMF_RESULT_SUCCESS || props == NULL) {
477477
return NULL;
478478
}
479479

480-
return allocInfo.props->pool;
480+
return props->pool;
481481
}
482482

483-
umf_result_t umfMemoryTrackerGetAllocInfo(const void *ptr,
484-
umf_alloc_info_t *pAllocInfo) {
485-
assert(pAllocInfo);
483+
umf_result_t
484+
umfMemoryTrackerGetAllocProps(const void *ptr,
485+
umf_memory_properties_handle_t *props) {
486+
assert(props);
486487

487488
if (ptr == NULL) {
488489
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
@@ -568,7 +569,7 @@ umf_result_t umfMemoryTrackerGetAllocInfo(const void *ptr,
568569
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
569570
}
570571

571-
pAllocInfo->props = &top_most_value->props;
572+
*props = &top_most_value->props;
572573

573574
assert(ref_top_most_value);
574575
critnib_release(TRACKER->alloc_segments_map[ref_level], ref_top_most_value);

src/provider/provider_tracking.h

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,9 @@ void umfMemoryTrackerDestroy(umf_memory_tracker_handle_t handle);
3737

3838
umf_memory_pool_handle_t umfMemoryTrackerGetPool(const void *ptr);
3939

40-
typedef struct umf_alloc_info_t {
41-
umf_memory_properties_handle_t props;
42-
} umf_alloc_info_t;
43-
44-
umf_result_t umfMemoryTrackerGetAllocInfo(const void *ptr,
45-
umf_alloc_info_t *pAllocInfo);
40+
umf_result_t
41+
umfMemoryTrackerGetAllocProps(const void *ptr,
42+
umf_memory_properties_handle_t *props);
4643

4744
typedef struct umf_ipc_info_t {
4845
void *base;

0 commit comments

Comments
 (0)