Skip to content

Commit 8b9987c

Browse files
committed
x
1 parent 666e1d9 commit 8b9987c

File tree

7 files changed

+39
-44
lines changed

7 files changed

+39
-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: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,12 @@ 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_result_t ret = umfMemoryTrackerGetAllocProps(ptr, props_handle);
2828
if (ret != UMF_RESULT_SUCCESS) {
2929
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
3030
}
3131

32-
*props_handle = allocInfo.props;
33-
3432
return UMF_RESULT_SUCCESS;
3533
}
3634

src/pool/pool_disjoint.c

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

891-
umf_alloc_info_t allocInfo = {NULL};
892-
umf_result_t ret = umfMemoryTrackerGetAllocInfo(ptr, &allocInfo);
893-
if (ret != UMF_RESULT_SUCCESS) {
891+
umf_memory_properties_handle_t props = NULL;
892+
umf_result_t umf_result = umfMemoryTrackerGetAllocProps(ptr, &props);
893+
if (umf_result != UMF_RESULT_SUCCESS) {
894894
return 0;
895895
}
896896

897-
if (allocInfo.props == NULL) {
897+
if (props == NULL) {
898898
TLS_last_allocation_error = UMF_RESULT_ERROR_UNKNOWN;
899899
LOG_ERR("failed to get allocation info from the memory tracker");
900900
return 0;
901901
}
902902

903-
return allocInfo.props->base_size;
903+
return props->base_size;
904904
}
905905

906906
// Get the unaligned pointer
@@ -935,21 +935,21 @@ umf_result_t disjoint_pool_free(void *pool, void *ptr) {
935935
critnib_release(disjoint_pool->known_slabs, ref_slab);
936936
}
937937

938-
umf_alloc_info_t allocInfo = {NULL};
939-
umf_result_t ret = umfMemoryTrackerGetAllocInfo(ptr, &allocInfo);
938+
umf_memory_properties_handle_t props = NULL;
939+
umf_result_t ret = umfMemoryTrackerGetAllocProps(ptr, &props);
940940
if (ret != UMF_RESULT_SUCCESS) {
941941
TLS_last_allocation_error = ret;
942942
LOG_ERR("failed to get allocation info from the memory tracker");
943943
return ret;
944944
}
945945

946-
if (allocInfo.props == NULL) {
946+
if (props == NULL) {
947947
TLS_last_allocation_error = UMF_RESULT_ERROR_UNKNOWN;
948948
LOG_ERR("failed to get allocation info from the memory tracker");
949949
return UMF_RESULT_ERROR_UNKNOWN;
950950
}
951951

952-
size_t size = allocInfo.props->base_size;
952+
size_t size = props->base_size;
953953
umf_memory_provider_handle_t provider = disjoint_pool->provider;
954954
ret = umfMemoryProviderFree(provider, ptr, size);
955955
if (ret != UMF_RESULT_SUCCESS) {

src/pool/pool_proxy.c

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

102102
if (ptr) {
103-
umf_alloc_info_t allocInfo = {NULL};
104-
umf_result_t umf_result = umfMemoryTrackerGetAllocInfo(ptr, &allocInfo);
103+
umf_memory_properties_handle_t props = NULL;
104+
umf_result_t umf_result = umfMemoryTrackerGetAllocProps(ptr, &props);
105105

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

112-
if (allocInfo.props == NULL) {
112+
if (props == NULL) {
113113
TLS_last_allocation_error = UMF_RESULT_ERROR_UNKNOWN;
114114
LOG_ERR("failed to get allocation info from the memory tracker");
115115
return UMF_RESULT_ERROR_UNKNOWN;
116116
}
117117

118-
size = allocInfo.props->base_size;
118+
size = props->base_size;
119119
}
120120

121121
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
@@ -685,6 +685,7 @@ static umf_result_t cu_memory_provider_get_allocation_properties(
685685
void *provider, const void *ptr,
686686
umf_memory_property_id_t memory_property_id, void *value) {
687687

688+
// unused
688689
(void)ptr;
689690

690691
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)