@@ -1750,7 +1750,10 @@ static int read_index_extension(struct index_state *istate,
17501750{
17511751 switch (CACHE_EXT (ext )) {
17521752 case CACHE_EXT_TREE :
1753+ trace2_region_enter ("index" , "read/extension/cache_tree" , NULL );
17531754 istate -> cache_tree = cache_tree_read (data , sz );
1755+ trace2_data_intmax ("index" , NULL , "read/extension/cache_tree/bytes" , (intmax_t )sz );
1756+ trace2_region_leave ("index" , "read/extension/cache_tree" , NULL );
17541757 break ;
17551758 case CACHE_EXT_RESOLVE_UNDO :
17561759 istate -> resolve_undo = resolve_undo_read (data , sz );
@@ -2005,6 +2008,17 @@ static void *load_index_extensions(void *_data)
20052008 return NULL ;
20062009}
20072010
2011+ static void * load_index_extensions_threadproc (void * _data )
2012+ {
2013+ void * result ;
2014+
2015+ trace2_thread_start ("load_index_extensions" );
2016+ result = load_index_extensions (_data );
2017+ trace2_thread_exit ();
2018+
2019+ return result ;
2020+ }
2021+
20082022/*
20092023 * A helper function that will load the specified range of cache entries
20102024 * from the memory mapped file and add them to the given index.
@@ -2080,12 +2094,17 @@ static void *load_cache_entries_thread(void *_data)
20802094 struct load_cache_entries_thread_data * p = _data ;
20812095 int i ;
20822096
2097+ trace2_thread_start ("load_cache_entries" );
2098+
20832099 /* iterate across all ieot blocks assigned to this thread */
20842100 for (i = p -> ieot_start ; i < p -> ieot_start + p -> ieot_blocks ; i ++ ) {
20852101 p -> consumed += load_cache_entry_block (p -> istate , p -> ce_mem_pool ,
20862102 p -> offset , p -> ieot -> entries [i ].nr , p -> mmap , p -> ieot -> entries [i ].offset , NULL );
20872103 p -> offset += p -> ieot -> entries [i ].nr ;
20882104 }
2105+
2106+ trace2_thread_exit ();
2107+
20892108 return NULL ;
20902109}
20912110
@@ -2235,7 +2254,7 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist)
22352254 int err ;
22362255
22372256 p .src_offset = extension_offset ;
2238- err = pthread_create (& p .pthread , NULL , load_index_extensions , & p );
2257+ err = pthread_create (& p .pthread , NULL , load_index_extensions_threadproc , & p );
22392258 if (err )
22402259 die (_ ("unable to create load_index_extensions thread: %s" ), strerror (err ));
22412260
@@ -2983,9 +3002,13 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
29833002 if (!strip_extensions && !drop_cache_tree && istate -> cache_tree ) {
29843003 struct strbuf sb = STRBUF_INIT ;
29853004
3005+ trace2_region_enter ("index" , "write/extension/cache_tree" , NULL );
29863006 cache_tree_write (& sb , istate -> cache_tree );
29873007 err = write_index_ext_header (& c , & eoie_c , newfd , CACHE_EXT_TREE , sb .len ) < 0
29883008 || ce_write (& c , newfd , sb .buf , sb .len ) < 0 ;
3009+ trace2_data_intmax ("index" , NULL , "write/extension/cache_tree/bytes" , (intmax_t )sb .len );
3010+ trace2_region_leave ("index" , "write/extension/cache_tree" , NULL );
3011+
29893012 strbuf_release (& sb );
29903013 if (err )
29913014 return -1 ;
0 commit comments