@@ -425,8 +425,12 @@ static int check_updates(struct unpack_trees_options *o,
425
425
struct progress * progress ;
426
426
struct checkout state = CHECKOUT_INIT ;
427
427
int i , pc_workers , pc_threshold ;
428
+ intmax_t sum_unlink = 0 ;
429
+ intmax_t sum_prefetch = 0 ;
430
+ intmax_t sum_checkout = 0 ;
428
431
429
432
trace_performance_enter ();
433
+ trace2_region_enter ("unpack_trees" , "check_updates" , NULL );
430
434
state .super_prefix = o -> super_prefix ;
431
435
state .force = 1 ;
432
436
state .quiet = 1 ;
@@ -436,8 +440,7 @@ static int check_updates(struct unpack_trees_options *o,
436
440
437
441
if (!o -> update || o -> dry_run ) {
438
442
remove_marked_cache_entries (index , 0 );
439
- trace_performance_leave ("check_updates" );
440
- return 0 ;
443
+ goto done ;
441
444
}
442
445
443
446
if (o -> clone )
@@ -459,6 +462,7 @@ static int check_updates(struct unpack_trees_options *o,
459
462
if (ce -> ce_flags & CE_WT_REMOVE ) {
460
463
display_progress (progress , ++ cnt );
461
464
unlink_entry (ce , o -> super_prefix );
465
+ sum_unlink ++ ;
462
466
}
463
467
}
464
468
@@ -494,6 +498,7 @@ static int check_updates(struct unpack_trees_options *o,
494
498
495
499
if (last_pc_queue_size == pc_queue_size ())
496
500
display_progress (progress , ++ cnt );
501
+ sum_checkout ++ ;
497
502
}
498
503
}
499
504
if (pc_workers > 1 )
@@ -506,6 +511,15 @@ static int check_updates(struct unpack_trees_options *o,
506
511
if (o -> clone )
507
512
report_collided_checkout (index );
508
513
514
+ if (sum_unlink > 0 )
515
+ trace2_data_intmax ("unpack_trees" , NULL , "check_updates/nr_unlink" , sum_unlink );
516
+ if (sum_prefetch > 0 )
517
+ trace2_data_intmax ("unpack_trees" , NULL , "check_updates/nr_prefetch" , sum_prefetch );
518
+ if (sum_checkout > 0 )
519
+ trace2_data_intmax ("unpack_trees" , NULL , "check_updates/nr_write" , sum_checkout );
520
+
521
+ done :
522
+ trace2_region_leave ("unpack_trees" , "check_updates" , NULL );
509
523
trace_performance_leave ("check_updates" );
510
524
return errs != 0 ;
511
525
}
@@ -1776,10 +1790,9 @@ static int clear_ce_flags(struct index_state *istate,
1776
1790
_ ("Updating index flags" ),
1777
1791
istate -> cache_nr );
1778
1792
1779
- xsnprintf (label , sizeof (label ), "clear_ce_flags( 0x%08lx,0x %08lx) " ,
1793
+ xsnprintf (label , sizeof (label ), "clear_ce_flags/ 0x%08lx_0x %08lx" ,
1780
1794
(unsigned long )select_mask , (unsigned long )clear_mask );
1781
1795
trace2_region_enter ("unpack_trees" , label , the_repository );
1782
-
1783
1796
rval = clear_ce_flags_1 (istate ,
1784
1797
istate -> cache ,
1785
1798
istate -> cache_nr ,
@@ -1903,7 +1916,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
1903
1916
if (o -> df_conflict_entry )
1904
1917
BUG ("o->df_conflict_entry is an output only field" );
1905
1918
1906
- trace2_region_enter ("exp " , "unpack_trees" , NULL );
1919
+ trace2_region_enter ("unpack_trees " , "unpack_trees" , NULL );
1907
1920
nr_unpack_entry_at_start = get_nr_unpack_entry ();
1908
1921
1909
1922
trace_performance_enter ();
@@ -2112,7 +2125,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
2112
2125
trace_performance_leave ("unpack_trees" );
2113
2126
trace2_data_intmax ("unpack_trees" , NULL , "unpack_trees/nr_unpack_entries" ,
2114
2127
(intmax_t )(get_nr_unpack_entry () - nr_unpack_entry_at_start ));
2115
- trace2_region_leave ("exp " , "unpack_trees" , NULL );
2128
+ trace2_region_leave ("unpack_trees " , "unpack_trees" , NULL );
2116
2129
return ret ;
2117
2130
2118
2131
return_failed :
0 commit comments