@@ -1765,7 +1765,10 @@ static int read_index_extension(struct index_state *istate,
17651765{
17661766 switch (CACHE_EXT (ext )) {
17671767 case CACHE_EXT_TREE :
1768+ trace2_region_enter ("index" , "read/extension/cache_tree" , NULL );
17681769 istate -> cache_tree = cache_tree_read (data , sz );
1770+ trace2_data_intmax ("index" , NULL , "read/extension/cache_tree/bytes" , (intmax_t )sz );
1771+ trace2_region_leave ("index" , "read/extension/cache_tree" , NULL );
17691772 break ;
17701773 case CACHE_EXT_RESOLVE_UNDO :
17711774 istate -> resolve_undo = resolve_undo_read (data , sz , the_hash_algo );
@@ -2055,6 +2058,17 @@ static void *load_index_extensions(void *_data)
20552058 return NULL ;
20562059}
20572060
2061+ static void * load_index_extensions_threadproc (void * _data )
2062+ {
2063+ void * result ;
2064+
2065+ trace2_thread_start ("load_index_extensions" );
2066+ result = load_index_extensions (_data );
2067+ trace2_thread_exit ();
2068+
2069+ return result ;
2070+ }
2071+
20582072/*
20592073 * A helper function that will load the specified range of cache entries
20602074 * from the memory mapped file and add them to the given index.
@@ -2131,12 +2145,17 @@ static void *load_cache_entries_thread(void *_data)
21312145 struct load_cache_entries_thread_data * p = _data ;
21322146 int i ;
21332147
2148+ trace2_thread_start ("load_cache_entries" );
2149+
21342150 /* iterate across all ieot blocks assigned to this thread */
21352151 for (i = p -> ieot_start ; i < p -> ieot_start + p -> ieot_blocks ; i ++ ) {
21362152 p -> consumed += load_cache_entry_block (p -> istate , p -> ce_mem_pool ,
21372153 p -> offset , p -> ieot -> entries [i ].nr , p -> mmap , p -> ieot -> entries [i ].offset , NULL );
21382154 p -> offset += p -> ieot -> entries [i ].nr ;
21392155 }
2156+
2157+ trace2_thread_exit ();
2158+
21402159 return NULL ;
21412160}
21422161
@@ -2306,7 +2325,7 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist)
23062325 int err ;
23072326
23082327 p .src_offset = extension_offset ;
2309- err = pthread_create (& p .pthread , NULL , load_index_extensions , & p );
2328+ err = pthread_create (& p .pthread , NULL , load_index_extensions_threadproc , & p );
23102329 if (err )
23112330 die (_ ("unable to create load_index_extensions thread: %s" ), strerror (err ));
23122331
@@ -3036,9 +3055,13 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
30363055 !drop_cache_tree && istate -> cache_tree ) {
30373056 strbuf_reset (& sb );
30383057
3058+ trace2_region_enter ("index" , "write/extension/cache_tree" , NULL );
30393059 cache_tree_write (& sb , istate -> cache_tree );
30403060 err = write_index_ext_header (f , eoie_c , CACHE_EXT_TREE , sb .len ) < 0 ;
30413061 hashwrite (f , sb .buf , sb .len );
3062+ trace2_data_intmax ("index" , NULL , "write/extension/cache_tree/bytes" , (intmax_t )sb .len );
3063+ trace2_region_leave ("index" , "write/extension/cache_tree" , NULL );
3064+
30423065 if (err ) {
30433066 ret = -1 ;
30443067 goto out ;
0 commit comments