@@ -81,39 +81,50 @@ static void mi_stat_counter_add(mi_stat_counter_t* stat, const mi_stat_counter_t
8181// must be thread safe as it is called from stats_merge
8282static void mi_stats_add (mi_stats_t * stats , const mi_stats_t * src ) {
8383 if (stats == src ) return ;
84- mi_stat_add (& stats -> segments , & src -> segments );
8584 mi_stat_add (& stats -> pages , & src -> pages );
8685 mi_stat_add (& stats -> reserved , & src -> reserved );
8786 mi_stat_add (& stats -> committed , & src -> committed );
8887 mi_stat_add (& stats -> reset , & src -> reset );
8988 mi_stat_add (& stats -> purged , & src -> purged );
9089 mi_stat_add (& stats -> page_committed , & src -> page_committed );
91-
9290 mi_stat_add (& stats -> pages_abandoned , & src -> pages_abandoned );
93- mi_stat_add (& stats -> segments_abandoned , & src -> segments_abandoned );
9491 mi_stat_add (& stats -> threads , & src -> threads );
92+ mi_stat_add (& stats -> malloc_normal , & src -> malloc_normal );
93+ mi_stat_add (& stats -> malloc_huge , & src -> malloc_huge );
94+ mi_stat_add (& stats -> malloc_requested , & src -> malloc_requested );
9595
96- mi_stat_add (& stats -> malloc , & src -> malloc );
97- mi_stat_add (& stats -> segments_cache , & src -> segments_cache );
98- mi_stat_add (& stats -> normal , & src -> normal );
99- mi_stat_add (& stats -> huge , & src -> huge );
100- mi_stat_add (& stats -> giant , & src -> giant );
101-
102- mi_stat_counter_add (& stats -> pages_extended , & src -> pages_extended );
10396 mi_stat_counter_add (& stats -> mmap_calls , & src -> mmap_calls );
10497 mi_stat_counter_add (& stats -> commit_calls , & src -> commit_calls );
10598 mi_stat_counter_add (& stats -> reset_calls , & src -> reset_calls );
10699 mi_stat_counter_add (& stats -> purge_calls , & src -> purge_calls );
100+ mi_stat_counter_add (& stats -> arena_count , & src -> arena_count );
101+ mi_stat_counter_add (& stats -> malloc_normal_count , & src -> malloc_normal_count );
102+ mi_stat_counter_add (& stats -> malloc_huge_count , & src -> malloc_huge_count );
103+ mi_stat_counter_add (& stats -> malloc_guarded_count , & src -> malloc_guarded_count );
104+
105+ mi_stat_counter_add (& stats -> arena_rollback_count , & src -> arena_rollback_count );
106+ mi_stat_counter_add (& stats -> pages_extended , & src -> pages_extended );
107+ mi_stat_counter_add (& stats -> pages_retire , & src -> pages_retire );
108+ mi_stat_counter_add (& stats -> page_searches , & src -> page_searches );
109+
110+ mi_stat_add (& stats -> segments , & src -> segments );
111+ mi_stat_add (& stats -> segments_abandoned , & src -> segments_abandoned );
112+ mi_stat_add (& stats -> segments_cache , & src -> segments_cache );
113+
114+ mi_stat_counter_add (& stats -> pages_reclaim_on_alloc , & src -> pages_reclaim_on_alloc );
115+ mi_stat_counter_add (& stats -> pages_reclaim_on_free , & src -> pages_reclaim_on_free );
116+ mi_stat_counter_add (& stats -> pages_reabandon_full , & src -> pages_reabandon_full );
117+ mi_stat_counter_add (& stats -> pages_unabandon_busy_wait , & src -> pages_unabandon_busy_wait );
107118
108- mi_stat_counter_add (& stats -> page_no_retire , & src -> page_no_retire );
109- mi_stat_counter_add (& stats -> searches , & src -> searches );
110- mi_stat_counter_add (& stats -> normal_count , & src -> normal_count );
111- mi_stat_counter_add (& stats -> huge_count , & src -> huge_count );
112- mi_stat_counter_add (& stats -> guarded_alloc_count , & src -> guarded_alloc_count );
113119#if MI_STAT > 1
114120 for (size_t i = 0 ; i <= MI_BIN_HUGE ; i ++ ) {
115121 // if (src->normal_bins[i].total != 0 && src->normal_bins[i].current != 0) {
116- mi_stat_add (& stats -> normal_bins [i ], & src -> normal_bins [i ]);
122+ mi_stat_add (& stats -> malloc_bins [i ], & src -> malloc_bins [i ]);
123+ //}
124+ }
125+ for (size_t i = 0 ; i <= MI_BIN_HUGE ; i ++ ) {
126+ // if (src->normal_bins[i].total != 0 && src->normal_bins[i].current != 0) {
127+ mi_stat_add (& stats -> page_bins [i ], & src -> page_bins [i ]);
117128 //}
118129 }
119130#endif
@@ -301,18 +312,18 @@ static void _mi_stats_print(mi_stats_t* stats, mi_output_fun* out0, void* arg0)
301312 // and print using that
302313 mi_print_header (out ,arg );
303314 #if MI_STAT > 1
304- mi_stats_print_bins (stats -> normal_bins , MI_BIN_HUGE , "normal" ,out ,arg );
315+ mi_stats_print_bins (stats -> malloc_bins , MI_BIN_HUGE , "normal" ,out ,arg );
305316 #endif
306317 #if MI_STAT
307- mi_stat_print (& stats -> normal , "normal" , (stats -> normal_count .total == 0 ? 1 : -1 ), out , arg );
308- mi_stat_print (& stats -> huge , "huge" , (stats -> huge_count .total == 0 ? 1 : -1 ), out , arg );
318+ mi_stat_print (& stats -> malloc_normal , "normal" , (stats -> malloc_normal_count .total == 0 ? 1 : -1 ), out , arg );
319+ mi_stat_print (& stats -> malloc_huge , "huge" , (stats -> malloc_huge_count .total == 0 ? 1 : -1 ), out , arg );
309320 mi_stat_count_t total = { 0 ,0 ,0 };
310- mi_stat_add (& total , & stats -> normal );
311- mi_stat_add (& total , & stats -> huge );
321+ mi_stat_add (& total , & stats -> malloc_normal );
322+ mi_stat_add (& total , & stats -> malloc_huge );
312323 mi_stat_print_ex (& total , "total" , 1 , out , arg , "" );
313324 #endif
314325 #if MI_STAT > 1
315- mi_stat_print_ex (& stats -> malloc , "malloc req" , 1 , out , arg , "" );
326+ mi_stat_print_ex (& stats -> malloc_requested , "malloc req" , 1 , out , arg , "" );
316327 _mi_fprintf (out , arg , "\n" );
317328 #endif
318329 mi_stat_print_ex (& stats -> reserved , "reserved" , 1 , out , arg , "" );
@@ -326,17 +337,17 @@ static void _mi_stats_print(mi_stats_t* stats, mi_output_fun* out0, void* arg0)
326337 mi_stat_print (& stats -> pages , "pages" , -1 , out , arg );
327338 mi_stat_print (& stats -> pages_abandoned , "-abandoned" , -1 , out , arg );
328339 mi_stat_counter_print (& stats -> pages_extended , "-extended" , out , arg );
329- mi_stat_counter_print (& stats -> page_no_retire , "-noretire " , out , arg );
340+ mi_stat_counter_print (& stats -> pages_retire , "-retire " , out , arg );
330341 mi_stat_counter_print (& stats -> arena_count , "arenas" , out , arg );
331- mi_stat_counter_print (& stats -> arena_crossover_count , "-crossover" , out , arg );
342+ // mi_stat_counter_print(&stats->arena_crossover_count, "-crossover", out, arg);
332343 mi_stat_counter_print (& stats -> arena_rollback_count , "-rollback" , out , arg );
333344 mi_stat_counter_print (& stats -> mmap_calls , "mmaps" , out , arg );
334345 mi_stat_counter_print (& stats -> commit_calls , "commits" , out , arg );
335346 mi_stat_counter_print (& stats -> reset_calls , "resets" , out , arg );
336347 mi_stat_counter_print (& stats -> purge_calls , "purges" , out , arg );
337- mi_stat_counter_print (& stats -> guarded_alloc_count , "guarded" , out , arg );
348+ mi_stat_counter_print (& stats -> malloc_guarded_count , "guarded" , out , arg );
338349 mi_stat_print (& stats -> threads , "threads" , -1 , out , arg );
339- mi_stat_counter_print_avg (& stats -> searches , "searches" , out , arg );
350+ mi_stat_counter_print_avg (& stats -> page_searches , "searches" , out , arg );
340351 _mi_fprintf (out , arg , "%10s: %5zu\n" , "numa nodes" , _mi_os_numa_node_count ());
341352
342353 size_t elapsed ;
0 commit comments