Skip to content

Commit ccb2c16

Browse files
committed
x2
1 parent 5015432 commit ccb2c16

File tree

8 files changed

+32
-37
lines changed

8 files changed

+32
-37
lines changed

hwloc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit 8ba08b0a8af47c176859288e716928f67f03d0c6

src/ipc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ umf_result_t umfGetIPCHandle(const void *ptr, umf_ipc_handle_t *umfIPCHandle,
5959

6060
size_t ipcHandleSize = 0;
6161
umf_memory_properties_handle_t props = NULL;
62-
umf_result_t ret = umfMemoryTrackerGetAllocProps(ptr, &props);
62+
umf_result_t ret = umfGetMemoryPropertiesHandle(ptr, &props);
6363
if (ret != UMF_RESULT_SUCCESS) {
6464
LOG_ERR("cannot get alloc props for ptr = %p.", ptr);
6565
return ret;

src/memory_pool.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,13 @@ umf_result_t umfFree(void *ptr) {
240240
}
241241

242242
umf_memory_pool_handle_t umfPoolByPtr(const void *ptr) {
243-
return umfMemoryTrackerGetPool(ptr);
243+
umf_memory_properties_handle_t props = NULL;
244+
umf_result_t ret = umfGetMemoryPropertiesHandle(ptr, &props);
245+
if (ret != UMF_RESULT_SUCCESS || props == NULL) {
246+
return NULL;
247+
}
248+
249+
return props->pool;
244250
}
245251

246252
umf_result_t umfPoolGetMemoryProvider(umf_memory_pool_handle_t hPool,

src/memory_props.c

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

26-
// TODO remove
27-
umf_result_t ret = umfMemoryTrackerGetAllocProps(ptr, props_handle);
26+
tracker_alloc_info_t *info = NULL;
27+
umf_result_t ret = umfMemoryTrackerGetAllocInfo(ptr, &info);
2828
if (ret != UMF_RESULT_SUCCESS) {
2929
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
3030
}
3131

32+
*props_handle = &info->props;
33+
3234
return UMF_RESULT_SUCCESS;
3335
}
3436

src/pool/pool_disjoint.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -885,7 +885,7 @@ size_t disjoint_pool_malloc_usable_size(void *pool, const void *ptr) {
885885
}
886886

887887
umf_memory_properties_handle_t props = NULL;
888-
umf_result_t umf_result = umfMemoryTrackerGetAllocProps(ptr, &props);
888+
umf_result_t umf_result = umfGetMemoryPropertiesHandle(ptr, &props);
889889
if (umf_result != UMF_RESULT_SUCCESS) {
890890
return 0;
891891
}
@@ -932,7 +932,7 @@ umf_result_t disjoint_pool_free(void *pool, void *ptr) {
932932
}
933933

934934
umf_memory_properties_handle_t props = NULL;
935-
umf_result_t ret = umfMemoryTrackerGetAllocProps(ptr, &props);
935+
umf_result_t ret = umfGetMemoryPropertiesHandle(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");

src/pool/pool_proxy.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ static umf_result_t proxy_free(void *pool, void *ptr) {
9898

9999
if (ptr) {
100100
umf_memory_properties_handle_t props = NULL;
101-
umf_result_t umf_result = umfMemoryTrackerGetAllocProps(ptr, &props);
101+
umf_result_t umf_result = umfGetMemoryPropertiesHandle(ptr, &props);
102102

103103
if (umf_result != UMF_RESULT_SUCCESS) {
104104
TLS_last_allocation_error = umf_result;

src/provider/provider_tracking.c

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,6 @@ struct umf_memory_tracker_t {
4646
critnib *ipc_segments_map;
4747
};
4848

49-
typedef struct tracker_alloc_info_t {
50-
umf_memory_properties_t props;
51-
52-
// number of overlapping memory regions in the next level of map falling
53-
// within the current range
54-
size_t n_children;
55-
#if !defined(NDEBUG) && defined(UMF_DEVELOPER_MODE)
56-
uint64_t is_freed;
57-
#endif
58-
} tracker_alloc_info_t;
59-
6049
typedef struct tracker_ipc_info_t {
6150
size_t size;
6251
umf_memory_provider_handle_t provider;
@@ -470,20 +459,9 @@ umfMemoryTrackerRemoveIpcSegment(umf_memory_tracker_handle_t hTracker,
470459
return UMF_RESULT_SUCCESS;
471460
}
472461

473-
umf_memory_pool_handle_t umfMemoryTrackerGetPool(const void *ptr) {
474-
umf_memory_properties_handle_t props = NULL;
475-
umf_result_t ret = umfMemoryTrackerGetAllocProps(ptr, &props);
476-
if (ret != UMF_RESULT_SUCCESS || props == NULL) {
477-
return NULL;
478-
}
479-
480-
return props->pool;
481-
}
482-
483-
umf_result_t
484-
umfMemoryTrackerGetAllocProps(const void *ptr,
485-
umf_memory_properties_handle_t *props) {
486-
assert(props);
462+
umf_result_t umfMemoryTrackerGetAllocInfo(const void *ptr,
463+
tracker_alloc_info_t **info) {
464+
assert(info);
487465

488466
if (ptr == NULL) {
489467
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
@@ -569,7 +547,7 @@ umfMemoryTrackerGetAllocProps(const void *ptr,
569547
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
570548
}
571549

572-
*props = &top_most_value->props;
550+
*info = top_most_value;
573551

574552
assert(ref_top_most_value);
575553
critnib_release(TRACKER->alloc_segments_map[ref_level], ref_top_most_value);

src/provider/provider_tracking.h

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,19 @@ extern umf_memory_tracker_handle_t TRACKER;
3535
umf_memory_tracker_handle_t umfMemoryTrackerCreate(void);
3636
void umfMemoryTrackerDestroy(umf_memory_tracker_handle_t handle);
3737

38-
umf_memory_pool_handle_t umfMemoryTrackerGetPool(const void *ptr);
38+
typedef struct tracker_alloc_info_t {
39+
umf_memory_properties_t props;
40+
41+
// number of overlapping memory regions in the next level of map falling
42+
// within the current range
43+
size_t n_children;
44+
#if !defined(NDEBUG) && defined(UMF_DEVELOPER_MODE)
45+
uint64_t is_freed;
46+
#endif
47+
} tracker_alloc_info_t;
3948

40-
umf_result_t
41-
umfMemoryTrackerGetAllocProps(const void *ptr,
42-
umf_memory_properties_handle_t *props);
49+
umf_result_t umfMemoryTrackerGetAllocInfo(const void *ptr,
50+
tracker_alloc_info_t **info);
4351

4452
typedef struct umf_ipc_info_t {
4553
void *base;

0 commit comments

Comments
 (0)