@@ -1799,7 +1799,10 @@ static int read_index_extension(struct index_state *istate,
17991799{
18001800 switch (CACHE_EXT (ext )) {
18011801 case CACHE_EXT_TREE :
1802+ trace2_region_enter ("index" , "read/extension/cache_tree" , NULL );
18021803 istate -> cache_tree = cache_tree_read (data , sz );
1804+ trace2_data_intmax ("index" , NULL , "read/extension/cache_tree/bytes" , (intmax_t )sz );
1805+ trace2_region_leave ("index" , "read/extension/cache_tree" , NULL );
18031806 break ;
18041807 case CACHE_EXT_RESOLVE_UNDO :
18051808 istate -> resolve_undo = resolve_undo_read (data , sz );
@@ -2058,6 +2061,17 @@ static void *load_index_extensions(void *_data)
20582061 return NULL ;
20592062}
20602063
2064+ static void * load_index_extensions_threadproc (void * _data )
2065+ {
2066+ void * result ;
2067+
2068+ trace2_thread_start ("load_index_extensions" );
2069+ result = load_index_extensions (_data );
2070+ trace2_thread_exit ();
2071+
2072+ return result ;
2073+ }
2074+
20612075/*
20622076 * A helper function that will load the specified range of cache entries
20632077 * from the memory mapped file and add them to the given index.
@@ -2134,12 +2148,17 @@ static void *load_cache_entries_thread(void *_data)
21342148 struct load_cache_entries_thread_data * p = _data ;
21352149 int i ;
21362150
2151+ trace2_thread_start ("load_cache_entries" );
2152+
21372153 /* iterate across all ieot blocks assigned to this thread */
21382154 for (i = p -> ieot_start ; i < p -> ieot_start + p -> ieot_blocks ; i ++ ) {
21392155 p -> consumed += load_cache_entry_block (p -> istate , p -> ce_mem_pool ,
21402156 p -> offset , p -> ieot -> entries [i ].nr , p -> mmap , p -> ieot -> entries [i ].offset , NULL );
21412157 p -> offset += p -> ieot -> entries [i ].nr ;
21422158 }
2159+
2160+ trace2_thread_exit ();
2161+
21432162 return NULL ;
21442163}
21452164
@@ -2291,7 +2310,7 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist)
22912310 int err ;
22922311
22932312 p .src_offset = extension_offset ;
2294- err = pthread_create (& p .pthread , NULL , load_index_extensions , & p );
2313+ err = pthread_create (& p .pthread , NULL , load_index_extensions_threadproc , & p );
22952314 if (err )
22962315 die (_ ("unable to create load_index_extensions thread: %s" ), strerror (err ));
22972316
@@ -3048,9 +3067,13 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
30483067 if (!strip_extensions && !drop_cache_tree && istate -> cache_tree ) {
30493068 struct strbuf sb = STRBUF_INIT ;
30503069
3070+ trace2_region_enter ("index" , "write/extension/cache_tree" , NULL );
30513071 cache_tree_write (& sb , istate -> cache_tree );
30523072 err = write_index_ext_header (& c , & eoie_c , newfd , CACHE_EXT_TREE , sb .len ) < 0
30533073 || ce_write (& c , newfd , sb .buf , sb .len ) < 0 ;
3074+ trace2_data_intmax ("index" , NULL , "write/extension/cache_tree/bytes" , (intmax_t )sb .len );
3075+ trace2_region_leave ("index" , "write/extension/cache_tree" , NULL );
3076+
30543077 strbuf_release (& sb );
30553078 if (err )
30563079 return -1 ;
0 commit comments