@@ -1763,7 +1763,10 @@ static int read_index_extension(struct index_state *istate,
17631763{
17641764 switch (CACHE_EXT (ext )) {
17651765 case CACHE_EXT_TREE :
1766+ trace2_region_enter ("index" , "read/extension/cache_tree" , NULL );
17661767 istate -> cache_tree = cache_tree_read (data , sz );
1768+ trace2_data_intmax ("index" , NULL , "read/extension/cache_tree/bytes" , (intmax_t )sz );
1769+ trace2_region_leave ("index" , "read/extension/cache_tree" , NULL );
17671770 break ;
17681771 case CACHE_EXT_RESOLVE_UNDO :
17691772 istate -> resolve_undo = resolve_undo_read (data , sz );
@@ -2053,6 +2056,17 @@ static void *load_index_extensions(void *_data)
20532056 return NULL ;
20542057}
20552058
2059+ static void * load_index_extensions_threadproc (void * _data )
2060+ {
2061+ void * result ;
2062+
2063+ trace2_thread_start ("load_index_extensions" );
2064+ result = load_index_extensions (_data );
2065+ trace2_thread_exit ();
2066+
2067+ return result ;
2068+ }
2069+
20562070/*
20572071 * A helper function that will load the specified range of cache entries
20582072 * from the memory mapped file and add them to the given index.
@@ -2129,12 +2143,17 @@ static void *load_cache_entries_thread(void *_data)
21292143 struct load_cache_entries_thread_data * p = _data ;
21302144 int i ;
21312145
2146+ trace2_thread_start ("load_cache_entries" );
2147+
21322148 /* iterate across all ieot blocks assigned to this thread */
21332149 for (i = p -> ieot_start ; i < p -> ieot_start + p -> ieot_blocks ; i ++ ) {
21342150 p -> consumed += load_cache_entry_block (p -> istate , p -> ce_mem_pool ,
21352151 p -> offset , p -> ieot -> entries [i ].nr , p -> mmap , p -> ieot -> entries [i ].offset , NULL );
21362152 p -> offset += p -> ieot -> entries [i ].nr ;
21372153 }
2154+
2155+ trace2_thread_exit ();
2156+
21382157 return NULL ;
21392158}
21402159
@@ -2304,7 +2323,7 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist)
23042323 int err ;
23052324
23062325 p .src_offset = extension_offset ;
2307- err = pthread_create (& p .pthread , NULL , load_index_extensions , & p );
2326+ err = pthread_create (& p .pthread , NULL , load_index_extensions_threadproc , & p );
23082327 if (err )
23092328 die (_ ("unable to create load_index_extensions thread: %s" ), strerror (err ));
23102329
@@ -3034,9 +3053,13 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
30343053 !drop_cache_tree && istate -> cache_tree ) {
30353054 strbuf_reset (& sb );
30363055
3056+ trace2_region_enter ("index" , "write/extension/cache_tree" , NULL );
30373057 cache_tree_write (& sb , istate -> cache_tree );
30383058 err = write_index_ext_header (f , eoie_c , CACHE_EXT_TREE , sb .len ) < 0 ;
30393059 hashwrite (f , sb .buf , sb .len );
3060+ trace2_data_intmax ("index" , NULL , "write/extension/cache_tree/bytes" , (intmax_t )sb .len );
3061+ trace2_region_leave ("index" , "write/extension/cache_tree" , NULL );
3062+
30403063 if (err ) {
30413064 ret = -1 ;
30423065 goto out ;
0 commit comments