@@ -1855,7 +1855,10 @@ static int read_index_extension(struct index_state *istate,
18551855{
18561856 switch (CACHE_EXT (ext )) {
18571857 case CACHE_EXT_TREE :
1858+ trace2_region_enter ("index" , "read/extension/cache_tree" , NULL );
18581859 istate -> cache_tree = cache_tree_read (data , sz );
1860+ trace2_data_intmax ("index" , NULL , "read/extension/cache_tree/bytes" , (intmax_t )sz );
1861+ trace2_region_leave ("index" , "read/extension/cache_tree" , NULL );
18591862 break ;
18601863 case CACHE_EXT_RESOLVE_UNDO :
18611864 istate -> resolve_undo = resolve_undo_read (data , sz );
@@ -2121,6 +2124,17 @@ static void *load_index_extensions(void *_data)
21212124 return NULL ;
21222125}
21232126
2127+ static void * load_index_extensions_threadproc (void * _data )
2128+ {
2129+ void * result ;
2130+
2131+ trace2_thread_start ("load_index_extensions" );
2132+ result = load_index_extensions (_data );
2133+ trace2_thread_exit ();
2134+
2135+ return result ;
2136+ }
2137+
21242138/*
21252139 * A helper function that will load the specified range of cache entries
21262140 * from the memory mapped file and add them to the given index.
@@ -2197,12 +2211,17 @@ static void *load_cache_entries_thread(void *_data)
21972211 struct load_cache_entries_thread_data * p = _data ;
21982212 int i ;
21992213
2214+ trace2_thread_start ("load_cache_entries" );
2215+
22002216 /* iterate across all ieot blocks assigned to this thread */
22012217 for (i = p -> ieot_start ; i < p -> ieot_start + p -> ieot_blocks ; i ++ ) {
22022218 p -> consumed += load_cache_entry_block (p -> istate , p -> ce_mem_pool ,
22032219 p -> offset , p -> ieot -> entries [i ].nr , p -> mmap , p -> ieot -> entries [i ].offset , NULL );
22042220 p -> offset += p -> ieot -> entries [i ].nr ;
22052221 }
2222+
2223+ trace2_thread_exit ();
2224+
22062225 return NULL ;
22072226}
22082227
@@ -2373,7 +2392,7 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist)
23732392 int err ;
23742393
23752394 p .src_offset = extension_offset ;
2376- err = pthread_create (& p .pthread , NULL , load_index_extensions , & p );
2395+ err = pthread_create (& p .pthread , NULL , load_index_extensions_threadproc , & p );
23772396 if (err )
23782397 die (_ ("unable to create load_index_extensions thread: %s" ), strerror (err ));
23792398
@@ -3082,9 +3101,13 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
30823101 if (!strip_extensions && !drop_cache_tree && istate -> cache_tree ) {
30833102 struct strbuf sb = STRBUF_INIT ;
30843103
3104+ trace2_region_enter ("index" , "write/extension/cache_tree" , NULL );
30853105 cache_tree_write (& sb , istate -> cache_tree );
30863106 err = write_index_ext_header (f , eoie_c , CACHE_EXT_TREE , sb .len ) < 0 ;
30873107 hashwrite (f , sb .buf , sb .len );
3108+ trace2_data_intmax ("index" , NULL , "write/extension/cache_tree/bytes" , (intmax_t )sb .len );
3109+ trace2_region_leave ("index" , "write/extension/cache_tree" , NULL );
3110+
30883111 strbuf_release (& sb );
30893112 if (err )
30903113 return -1 ;
0 commit comments