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