@@ -1762,7 +1762,10 @@ static int read_index_extension(struct index_state *istate,
17621762{
17631763 switch (CACHE_EXT (ext )) {
17641764 case CACHE_EXT_TREE :
1765+ trace2_region_enter ("index" , "read/extension/cache_tree" , NULL );
17651766 istate -> cache_tree = cache_tree_read (data , sz );
1767+ trace2_data_intmax ("index" , NULL , "read/extension/cache_tree/bytes" , (intmax_t )sz );
1768+ trace2_region_leave ("index" , "read/extension/cache_tree" , NULL );
17661769 break ;
17671770 case CACHE_EXT_RESOLVE_UNDO :
17681771 istate -> resolve_undo = resolve_undo_read (data , sz );
@@ -2052,6 +2055,17 @@ static void *load_index_extensions(void *_data)
20522055 return NULL ;
20532056}
20542057
2058+ static void * load_index_extensions_threadproc (void * _data )
2059+ {
2060+ void * result ;
2061+
2062+ trace2_thread_start ("load_index_extensions" );
2063+ result = load_index_extensions (_data );
2064+ trace2_thread_exit ();
2065+
2066+ return result ;
2067+ }
2068+
20552069/*
20562070 * A helper function that will load the specified range of cache entries
20572071 * from the memory mapped file and add them to the given index.
@@ -2128,12 +2142,17 @@ static void *load_cache_entries_thread(void *_data)
21282142 struct load_cache_entries_thread_data * p = _data ;
21292143 int i ;
21302144
2145+ trace2_thread_start ("load_cache_entries" );
2146+
21312147 /* iterate across all ieot blocks assigned to this thread */
21322148 for (i = p -> ieot_start ; i < p -> ieot_start + p -> ieot_blocks ; i ++ ) {
21332149 p -> consumed += load_cache_entry_block (p -> istate , p -> ce_mem_pool ,
21342150 p -> offset , p -> ieot -> entries [i ].nr , p -> mmap , p -> ieot -> entries [i ].offset , NULL );
21352151 p -> offset += p -> ieot -> entries [i ].nr ;
21362152 }
2153+
2154+ trace2_thread_exit ();
2155+
21372156 return NULL ;
21382157}
21392158
@@ -2302,7 +2321,7 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist)
23022321 int err ;
23032322
23042323 p .src_offset = extension_offset ;
2305- err = pthread_create (& p .pthread , NULL , load_index_extensions , & p );
2324+ err = pthread_create (& p .pthread , NULL , load_index_extensions_threadproc , & p );
23062325 if (err )
23072326 die (_ ("unable to create load_index_extensions thread: %s" ), strerror (err ));
23082327
@@ -3042,9 +3061,13 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
30423061 !drop_cache_tree && istate -> cache_tree ) {
30433062 struct strbuf sb = STRBUF_INIT ;
30443063
3064+ trace2_region_enter ("index" , "write/extension/cache_tree" , NULL );
30453065 cache_tree_write (& sb , istate -> cache_tree );
30463066 err = write_index_ext_header (f , eoie_c , CACHE_EXT_TREE , sb .len ) < 0 ;
30473067 hashwrite (f , sb .buf , sb .len );
3068+ trace2_data_intmax ("index" , NULL , "write/extension/cache_tree/bytes" , (intmax_t )sb .len );
3069+ trace2_region_leave ("index" , "write/extension/cache_tree" , NULL );
3070+
30483071 strbuf_release (& sb );
30493072 /*
30503073 * NEEDSWORK: write_index_ext_header() never returns a failure,
0 commit comments