@@ -431,8 +431,12 @@ static int check_updates(struct unpack_trees_options *o,
431
431
struct progress * progress ;
432
432
struct checkout state = CHECKOUT_INIT ;
433
433
int i , pc_workers , pc_threshold ;
434
+ intmax_t sum_unlink = 0 ;
435
+ intmax_t sum_prefetch = 0 ;
436
+ intmax_t sum_checkout = 0 ;
434
437
435
438
trace_performance_enter ();
439
+ trace2_region_enter ("unpack_trees" , "check_updates" , NULL );
436
440
state .super_prefix = o -> super_prefix ;
437
441
state .force = 1 ;
438
442
state .quiet = 1 ;
@@ -442,8 +446,7 @@ static int check_updates(struct unpack_trees_options *o,
442
446
443
447
if (!o -> update || o -> dry_run ) {
444
448
remove_marked_cache_entries (index , 0 );
445
- trace_performance_leave ("check_updates" );
446
- return 0 ;
449
+ goto done ;
447
450
}
448
451
449
452
if (o -> clone )
@@ -465,6 +468,7 @@ static int check_updates(struct unpack_trees_options *o,
465
468
if (ce -> ce_flags & CE_WT_REMOVE ) {
466
469
display_progress (progress , ++ cnt );
467
470
unlink_entry (ce , o -> super_prefix );
471
+ sum_unlink ++ ;
468
472
}
469
473
}
470
474
@@ -500,6 +504,7 @@ static int check_updates(struct unpack_trees_options *o,
500
504
501
505
if (last_pc_queue_size == pc_queue_size ())
502
506
display_progress (progress , ++ cnt );
507
+ sum_checkout ++ ;
503
508
}
504
509
}
505
510
if (pc_workers > 1 )
@@ -512,6 +517,15 @@ static int check_updates(struct unpack_trees_options *o,
512
517
if (o -> clone )
513
518
report_collided_checkout (index );
514
519
520
+ if (sum_unlink > 0 )
521
+ trace2_data_intmax ("unpack_trees" , NULL , "check_updates/nr_unlink" , sum_unlink );
522
+ if (sum_prefetch > 0 )
523
+ trace2_data_intmax ("unpack_trees" , NULL , "check_updates/nr_prefetch" , sum_prefetch );
524
+ if (sum_checkout > 0 )
525
+ trace2_data_intmax ("unpack_trees" , NULL , "check_updates/nr_write" , sum_checkout );
526
+
527
+ done :
528
+ trace2_region_leave ("unpack_trees" , "check_updates" , NULL );
515
529
trace_performance_leave ("check_updates" );
516
530
return errs != 0 ;
517
531
}
@@ -1789,10 +1803,9 @@ static int clear_ce_flags(struct index_state *istate,
1789
1803
_ ("Updating index flags" ),
1790
1804
istate -> cache_nr );
1791
1805
1792
- xsnprintf (label , sizeof (label ), "clear_ce_flags( 0x%08lx,0x %08lx) " ,
1806
+ xsnprintf (label , sizeof (label ), "clear_ce_flags/ 0x%08lx_0x %08lx" ,
1793
1807
(unsigned long )select_mask , (unsigned long )clear_mask );
1794
1808
trace2_region_enter ("unpack_trees" , label , the_repository );
1795
-
1796
1809
rval = clear_ce_flags_1 (istate ,
1797
1810
istate -> cache ,
1798
1811
istate -> cache_nr ,
@@ -1916,7 +1929,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
1916
1929
if (o -> df_conflict_entry )
1917
1930
BUG ("o->df_conflict_entry is an output only field" );
1918
1931
1919
- trace2_region_enter ("exp " , "unpack_trees" , NULL );
1932
+ trace2_region_enter ("unpack_trees " , "unpack_trees" , NULL );
1920
1933
nr_unpack_entry_at_start = get_nr_unpack_entry ();
1921
1934
1922
1935
trace_performance_enter ();
@@ -2130,7 +2143,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
2130
2143
trace_performance_leave ("unpack_trees" );
2131
2144
trace2_data_intmax ("unpack_trees" , NULL , "unpack_trees/nr_unpack_entries" ,
2132
2145
(intmax_t )(get_nr_unpack_entry () - nr_unpack_entry_at_start ));
2133
- trace2_region_leave ("exp " , "unpack_trees" , NULL );
2146
+ trace2_region_leave ("unpack_trees " , "unpack_trees" , NULL );
2134
2147
return ret ;
2135
2148
2136
2149
return_failed :
0 commit comments