@@ -1819,7 +1819,10 @@ static int read_index_extension(struct index_state *istate,
18191819{
18201820 switch (CACHE_EXT (ext )) {
18211821 case CACHE_EXT_TREE :
1822+ trace2_region_enter ("index" , "read/extension/cache_tree" , NULL );
18221823 istate -> cache_tree = cache_tree_read (data , sz );
1824+ trace2_data_intmax ("index" , NULL , "read/extension/cache_tree/bytes" , (intmax_t )sz );
1825+ trace2_region_leave ("index" , "read/extension/cache_tree" , NULL );
18231826 break ;
18241827 case CACHE_EXT_RESOLVE_UNDO :
18251828 istate -> resolve_undo = resolve_undo_read (data , sz );
@@ -2087,6 +2090,17 @@ static void *load_index_extensions(void *_data)
20872090 return NULL ;
20882091}
20892092
2093+ static void * load_index_extensions_threadproc (void * _data )
2094+ {
2095+ void * result ;
2096+
2097+ trace2_thread_start ("load_index_extensions" );
2098+ result = load_index_extensions (_data );
2099+ trace2_thread_exit ();
2100+
2101+ return result ;
2102+ }
2103+
20902104/*
20912105 * A helper function that will load the specified range of cache entries
20922106 * from the memory mapped file and add them to the given index.
@@ -2163,12 +2177,17 @@ static void *load_cache_entries_thread(void *_data)
21632177 struct load_cache_entries_thread_data * p = _data ;
21642178 int i ;
21652179
2180+ trace2_thread_start ("load_cache_entries" );
2181+
21662182 /* iterate across all ieot blocks assigned to this thread */
21672183 for (i = p -> ieot_start ; i < p -> ieot_start + p -> ieot_blocks ; i ++ ) {
21682184 p -> consumed += load_cache_entry_block (p -> istate , p -> ce_mem_pool ,
21692185 p -> offset , p -> ieot -> entries [i ].nr , p -> mmap , p -> ieot -> entries [i ].offset , NULL );
21702186 p -> offset += p -> ieot -> entries [i ].nr ;
21712187 }
2188+
2189+ trace2_thread_exit ();
2190+
21722191 return NULL ;
21732192}
21742193
@@ -2321,7 +2340,7 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist)
23212340 int err ;
23222341
23232342 p .src_offset = extension_offset ;
2324- err = pthread_create (& p .pthread , NULL , load_index_extensions , & p );
2343+ err = pthread_create (& p .pthread , NULL , load_index_extensions_threadproc , & p );
23252344 if (err )
23262345 die (_ ("unable to create load_index_extensions thread: %s" ), strerror (err ));
23272346
@@ -3018,9 +3037,13 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
30183037 if (!strip_extensions && !drop_cache_tree && istate -> cache_tree ) {
30193038 struct strbuf sb = STRBUF_INIT ;
30203039
3040+ trace2_region_enter ("index" , "write/extension/cache_tree" , NULL );
30213041 cache_tree_write (& sb , istate -> cache_tree );
30223042 err = write_index_ext_header (f , eoie_c , CACHE_EXT_TREE , sb .len ) < 0 ;
30233043 hashwrite (f , sb .buf , sb .len );
3044+ trace2_data_intmax ("index" , NULL , "write/extension/cache_tree/bytes" , (intmax_t )sb .len );
3045+ trace2_region_leave ("index" , "write/extension/cache_tree" , NULL );
3046+
30243047 strbuf_release (& sb );
30253048 if (err )
30263049 return -1 ;
0 commit comments