@@ -1739,7 +1739,10 @@ static int read_index_extension(struct index_state *istate,
17391739{
17401740 switch (CACHE_EXT (ext )) {
17411741 case CACHE_EXT_TREE :
1742+ trace2_region_enter ("index" , "read/extension/cache_tree" , NULL );
17421743 istate -> cache_tree = cache_tree_read (data , sz );
1744+ trace2_data_intmax ("index" , NULL , "read/extension/cache_tree/bytes" , (intmax_t )sz );
1745+ trace2_region_leave ("index" , "read/extension/cache_tree" , NULL );
17431746 break ;
17441747 case CACHE_EXT_RESOLVE_UNDO :
17451748 istate -> resolve_undo = resolve_undo_read (data , sz );
@@ -1994,6 +1997,17 @@ static void *load_index_extensions(void *_data)
19941997 return NULL ;
19951998}
19961999
2000+ static void * load_index_extensions_threadproc (void * _data )
2001+ {
2002+ void * result ;
2003+
2004+ trace2_thread_start ("load_index_extensions" );
2005+ result = load_index_extensions (_data );
2006+ trace2_thread_exit ();
2007+
2008+ return result ;
2009+ }
2010+
19972011/*
19982012 * A helper function that will load the specified range of cache entries
19992013 * from the memory mapped file and add them to the given index.
@@ -2069,12 +2083,17 @@ static void *load_cache_entries_thread(void *_data)
20692083 struct load_cache_entries_thread_data * p = _data ;
20702084 int i ;
20712085
2086+ trace2_thread_start ("load_cache_entries" );
2087+
20722088 /* iterate across all ieot blocks assigned to this thread */
20732089 for (i = p -> ieot_start ; i < p -> ieot_start + p -> ieot_blocks ; i ++ ) {
20742090 p -> consumed += load_cache_entry_block (p -> istate , p -> ce_mem_pool ,
20752091 p -> offset , p -> ieot -> entries [i ].nr , p -> mmap , p -> ieot -> entries [i ].offset , NULL );
20762092 p -> offset += p -> ieot -> entries [i ].nr ;
20772093 }
2094+
2095+ trace2_thread_exit ();
2096+
20782097 return NULL ;
20792098}
20802099
@@ -2224,7 +2243,7 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist)
22242243 int err ;
22252244
22262245 p .src_offset = extension_offset ;
2227- err = pthread_create (& p .pthread , NULL , load_index_extensions , & p );
2246+ err = pthread_create (& p .pthread , NULL , load_index_extensions_threadproc , & p );
22282247 if (err )
22292248 die (_ ("unable to create load_index_extensions thread: %s" ), strerror (err ));
22302249
@@ -2972,9 +2991,13 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
29722991 if (!strip_extensions && !drop_cache_tree && istate -> cache_tree ) {
29732992 struct strbuf sb = STRBUF_INIT ;
29742993
2994+ trace2_region_enter ("index" , "write/extension/cache_tree" , NULL );
29752995 cache_tree_write (& sb , istate -> cache_tree );
29762996 err = write_index_ext_header (& c , & eoie_c , newfd , CACHE_EXT_TREE , sb .len ) < 0
29772997 || ce_write (& c , newfd , sb .buf , sb .len ) < 0 ;
2998+ trace2_data_intmax ("index" , NULL , "write/extension/cache_tree/bytes" , (intmax_t )sb .len );
2999+ trace2_region_leave ("index" , "write/extension/cache_tree" , NULL );
3000+
29783001 strbuf_release (& sb );
29793002 if (err )
29803003 return -1 ;
0 commit comments