@@ -37,6 +37,9 @@ static umf_result_t umfMemoryTrackerAdd(umf_memory_tracker_handle_t hTracker,
37
37
38
38
tracker_value_t * value = umf_ba_alloc (hTracker -> tracker_allocator );
39
39
if (value == NULL ) {
40
+ LOG_ERR ("umfMemoryTrackerAdd: failed to allocate tracker value, "
41
+ "ptr=%p, size=%zu" ,
42
+ ptr , size );
40
43
return UMF_RESULT_ERROR_OUT_OF_HOST_MEMORY ;
41
44
}
42
45
@@ -46,16 +49,22 @@ static umf_result_t umfMemoryTrackerAdd(umf_memory_tracker_handle_t hTracker,
46
49
int ret = critnib_insert (hTracker -> map , (uintptr_t )ptr , value , 0 );
47
50
48
51
if (ret == 0 ) {
52
+ LOG_DEBUG ("umfMemoryTrackerAdd: memory region is added, tracker=%p, "
53
+ "ptr=%p, size=%zu" ,
54
+ (void * )hTracker , ptr , size );
49
55
return UMF_RESULT_SUCCESS ;
50
56
}
51
57
58
+ LOG_ERR ("umfMemoryTrackerAdd: failed to insert tracker value, ret=%d, "
59
+ "ptr=%p, size=%zu" ,
60
+ ret , ptr , size );
61
+
52
62
umf_ba_free (hTracker -> tracker_allocator , value );
53
63
54
64
if (ret == ENOMEM ) {
55
65
return UMF_RESULT_ERROR_OUT_OF_HOST_MEMORY ;
56
66
}
57
67
58
- LOG_ERR ("umfMemoryTrackerAdd: Unknown Error %d" , ret );
59
68
return UMF_RESULT_ERROR_UNKNOWN ;
60
69
}
61
70
@@ -109,6 +118,9 @@ umf_result_t umfMemoryTrackerGetAllocInfo(const void *ptr,
109
118
int found = critnib_find (TRACKER -> map , (uintptr_t )ptr , FIND_LE ,
110
119
(void * )& rkey , (void * * )& rvalue );
111
120
if (!found || (uintptr_t )ptr >= rkey + rvalue -> size ) {
121
+ LOG_WARN ("umfMemoryTrackerGetAllocInfo: pointer %p not found in the "
122
+ "tacker, TRACKER=%p" ,
123
+ ptr , (void * )TRACKER );
112
124
return UMF_RESULT_ERROR_INVALID_ARGUMENT ;
113
125
}
114
126
@@ -585,13 +597,20 @@ static umf_result_t trackingOpenIpcHandle(void *provider, void *providerIpcData,
585
597
586
598
ret = umfMemoryProviderOpenIPCHandle (p -> hUpstream , providerIpcData , ptr );
587
599
if (ret != UMF_RESULT_SUCCESS ) {
600
+ LOG_ERR (
601
+ "tracking open ipc handle: umfMemoryProviderOpenIPCHandle failed" );
588
602
return ret ;
589
603
}
590
604
size_t bufferSize = getDataSizeFromIpcHandle (providerIpcData );
591
605
ret = umfMemoryTrackerAdd (p -> hTracker , p -> pool , * ptr , bufferSize );
592
606
if (ret != UMF_RESULT_SUCCESS ) {
607
+ LOG_ERR ("tracking open ipc handle: umfMemoryTrackerAdd failed, ptr=%p, "
608
+ "size=%zu" ,
609
+ * ptr , bufferSize );
593
610
if (umfMemoryProviderCloseIPCHandle (p -> hUpstream , * ptr , bufferSize )) {
594
- // TODO: LOG
611
+ LOG_ERR ("tracking open ipc handle: umfMemoryProviderCloseIPCHandle "
612
+ "failed, ptr=%p, size=%zu" ,
613
+ * ptr , bufferSize );
595
614
}
596
615
}
597
616
return ret ;
@@ -611,7 +630,9 @@ static umf_result_t trackingCloseIpcHandle(void *provider, void *ptr,
611
630
if (ret != UMF_RESULT_SUCCESS ) {
612
631
// DO NOT return an error here, because the tracking provider
613
632
// cannot change behaviour of the upstream provider.
614
- LOG_ERR ("tracking free: umfMemoryTrackerRemove failed" );
633
+ LOG_ERR ("tracking free: umfMemoryTrackerRemove failed, ptr=%p, "
634
+ "size=%zu" ,
635
+ ptr , size );
615
636
}
616
637
}
617
638
return umfMemoryProviderCloseIPCHandle (p -> hUpstream , ptr , size );
@@ -645,14 +666,21 @@ umf_result_t umfTrackingMemoryProviderCreate(
645
666
params .hUpstream = hUpstream ;
646
667
params .hTracker = TRACKER ;
647
668
if (!params .hTracker ) {
669
+ LOG_ERR ("umfTrackingMemoryProviderCreate: failed, TRACKER is NULL" );
648
670
return UMF_RESULT_ERROR_UNKNOWN ;
649
671
}
650
672
params .pool = hPool ;
651
673
params .ipcCache = critnib_new ();
652
674
if (!params .ipcCache ) {
675
+ LOG_ERR ("umfTrackingMemoryProviderCreate: failed to create IPC cache" );
653
676
return UMF_RESULT_ERROR_OUT_OF_HOST_MEMORY ;
654
677
}
655
678
679
+ LOG_DEBUG ("umfTrackingMemoryProviderCreate: upstream=%p, tracker=%p, "
680
+ "pool=%p, ipcCache=%p" ,
681
+ (void * )params .hUpstream , (void * )params .hTracker ,
682
+ (void * )params .pool , (void * )params .ipcCache );
683
+
656
684
return umfMemoryProviderCreate (& UMF_TRACKING_MEMORY_PROVIDER_OPS , & params ,
657
685
hTrackingProvider );
658
686
}
@@ -691,6 +719,10 @@ umf_memory_tracker_handle_t umfMemoryTrackerCreate(void) {
691
719
goto err_destroy_mutex ;
692
720
}
693
721
722
+ LOG_DEBUG (
723
+ "umfMemoryTrackerCreate: tracker created, handle=%p, segment map=%p" ,
724
+ (void * )handle , (void * )handle -> map );
725
+
694
726
return handle ;
695
727
696
728
err_destroy_mutex :
0 commit comments