@@ -1736,7 +1736,10 @@ static int read_index_extension(struct index_state *istate,
17361736{
17371737 switch (CACHE_EXT (ext )) {
17381738 case CACHE_EXT_TREE :
1739+ trace2_region_enter ("index" , "read/extension/cache_tree" , NULL );
17391740 istate -> cache_tree = cache_tree_read (data , sz );
1741+ trace2_data_intmax ("index" , NULL , "read/extension/cache_tree/bytes" , (intmax_t )sz );
1742+ trace2_region_leave ("index" , "read/extension/cache_tree" , NULL );
17401743 break ;
17411744 case CACHE_EXT_RESOLVE_UNDO :
17421745 istate -> resolve_undo = resolve_undo_read (data , sz , the_hash_algo );
@@ -2026,6 +2029,17 @@ static void *load_index_extensions(void *_data)
20262029 return NULL ;
20272030}
20282031
2032+ static void * load_index_extensions_threadproc (void * _data )
2033+ {
2034+ void * result ;
2035+
2036+ trace2_thread_start ("load_index_extensions" );
2037+ result = load_index_extensions (_data );
2038+ trace2_thread_exit ();
2039+
2040+ return result ;
2041+ }
2042+
20292043/*
20302044 * A helper function that will load the specified range of cache entries
20312045 * from the memory mapped file and add them to the given index.
@@ -2102,12 +2116,17 @@ static void *load_cache_entries_thread(void *_data)
21022116 struct load_cache_entries_thread_data * p = _data ;
21032117 int i ;
21042118
2119+ trace2_thread_start ("load_cache_entries" );
2120+
21052121 /* iterate across all ieot blocks assigned to this thread */
21062122 for (i = p -> ieot_start ; i < p -> ieot_start + p -> ieot_blocks ; i ++ ) {
21072123 p -> consumed += load_cache_entry_block (p -> istate , p -> ce_mem_pool ,
21082124 p -> offset , p -> ieot -> entries [i ].nr , p -> mmap , p -> ieot -> entries [i ].offset , NULL );
21092125 p -> offset += p -> ieot -> entries [i ].nr ;
21102126 }
2127+
2128+ trace2_thread_exit ();
2129+
21112130 return NULL ;
21122131}
21132132
@@ -2277,7 +2296,7 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist)
22772296 int err ;
22782297
22792298 p .src_offset = extension_offset ;
2280- err = pthread_create (& p .pthread , NULL , load_index_extensions , & p );
2299+ err = pthread_create (& p .pthread , NULL , load_index_extensions_threadproc , & p );
22812300 if (err )
22822301 die (_ ("unable to create load_index_extensions thread: %s" ), strerror (err ));
22832302
@@ -3007,9 +3026,13 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
30073026 !drop_cache_tree && istate -> cache_tree ) {
30083027 strbuf_reset (& sb );
30093028
3029+ trace2_region_enter ("index" , "write/extension/cache_tree" , NULL );
30103030 cache_tree_write (& sb , istate -> cache_tree );
30113031 err = write_index_ext_header (f , eoie_c , CACHE_EXT_TREE , sb .len ) < 0 ;
30123032 hashwrite (f , sb .buf , sb .len );
3033+ trace2_data_intmax ("index" , NULL , "write/extension/cache_tree/bytes" , (intmax_t )sb .len );
3034+ trace2_region_leave ("index" , "write/extension/cache_tree" , NULL );
3035+
30133036 if (err ) {
30143037 ret = -1 ;
30153038 goto out ;
0 commit comments