@@ -1804,7 +1804,10 @@ static int read_index_extension(struct index_state *istate,
18041804{
18051805 switch (CACHE_EXT (ext )) {
18061806 case CACHE_EXT_TREE :
1807+ trace2_region_enter ("index" , "read/extension/cache_tree" , NULL );
18071808 istate -> cache_tree = cache_tree_read (data , sz );
1809+ trace2_data_intmax ("index" , NULL , "read/extension/cache_tree/bytes" , (intmax_t )sz );
1810+ trace2_region_leave ("index" , "read/extension/cache_tree" , NULL );
18081811 break ;
18091812 case CACHE_EXT_RESOLVE_UNDO :
18101813 istate -> resolve_undo = resolve_undo_read (data , sz );
@@ -2063,6 +2066,17 @@ static void *load_index_extensions(void *_data)
20632066 return NULL ;
20642067}
20652068
2069+ static void * load_index_extensions_threadproc (void * _data )
2070+ {
2071+ void * result ;
2072+
2073+ trace2_thread_start ("load_index_extensions" );
2074+ result = load_index_extensions (_data );
2075+ trace2_thread_exit ();
2076+
2077+ return result ;
2078+ }
2079+
20662080/*
20672081 * A helper function that will load the specified range of cache entries
20682082 * from the memory mapped file and add them to the given index.
@@ -2139,12 +2153,17 @@ static void *load_cache_entries_thread(void *_data)
21392153 struct load_cache_entries_thread_data * p = _data ;
21402154 int i ;
21412155
2156+ trace2_thread_start ("load_cache_entries" );
2157+
21422158 /* iterate across all ieot blocks assigned to this thread */
21432159 for (i = p -> ieot_start ; i < p -> ieot_start + p -> ieot_blocks ; i ++ ) {
21442160 p -> consumed += load_cache_entry_block (p -> istate , p -> ce_mem_pool ,
21452161 p -> offset , p -> ieot -> entries [i ].nr , p -> mmap , p -> ieot -> entries [i ].offset , NULL );
21462162 p -> offset += p -> ieot -> entries [i ].nr ;
21472163 }
2164+
2165+ trace2_thread_exit ();
2166+
21482167 return NULL ;
21492168}
21502169
@@ -2297,7 +2316,7 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist)
22972316 int err ;
22982317
22992318 p .src_offset = extension_offset ;
2300- err = pthread_create (& p .pthread , NULL , load_index_extensions , & p );
2319+ err = pthread_create (& p .pthread , NULL , load_index_extensions_threadproc , & p );
23012320 if (err )
23022321 die (_ ("unable to create load_index_extensions thread: %s" ), strerror (err ));
23032322
@@ -2985,9 +3004,13 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
29853004 if (!strip_extensions && !drop_cache_tree && istate -> cache_tree ) {
29863005 struct strbuf sb = STRBUF_INIT ;
29873006
3007+ trace2_region_enter ("index" , "write/extension/cache_tree" , NULL );
29883008 cache_tree_write (& sb , istate -> cache_tree );
29893009 err = write_index_ext_header (f , eoie_c , CACHE_EXT_TREE , sb .len ) < 0 ;
29903010 hashwrite (f , sb .buf , sb .len );
3011+ trace2_data_intmax ("index" , NULL , "write/extension/cache_tree/bytes" , (intmax_t )sb .len );
3012+ trace2_region_leave ("index" , "write/extension/cache_tree" , NULL );
3013+
29913014 strbuf_release (& sb );
29923015 if (err )
29933016 return -1 ;
0 commit comments