@@ -1804,7 +1804,10 @@ static int read_index_extension(struct index_state *istate,
1804
1804
{
1805
1805
switch (CACHE_EXT (ext )) {
1806
1806
case CACHE_EXT_TREE :
1807
+ trace2_region_enter ("index" , "read/extension/cache_tree" , NULL );
1807
1808
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 );
1808
1811
break ;
1809
1812
case CACHE_EXT_RESOLVE_UNDO :
1810
1813
istate -> resolve_undo = resolve_undo_read (data , sz );
@@ -2063,6 +2066,17 @@ static void *load_index_extensions(void *_data)
2063
2066
return NULL ;
2064
2067
}
2065
2068
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
+
2066
2080
/*
2067
2081
* A helper function that will load the specified range of cache entries
2068
2082
* from the memory mapped file and add them to the given index.
@@ -2139,12 +2153,17 @@ static void *load_cache_entries_thread(void *_data)
2139
2153
struct load_cache_entries_thread_data * p = _data ;
2140
2154
int i ;
2141
2155
2156
+ trace2_thread_start ("load_cache_entries" );
2157
+
2142
2158
/* iterate across all ieot blocks assigned to this thread */
2143
2159
for (i = p -> ieot_start ; i < p -> ieot_start + p -> ieot_blocks ; i ++ ) {
2144
2160
p -> consumed += load_cache_entry_block (p -> istate , p -> ce_mem_pool ,
2145
2161
p -> offset , p -> ieot -> entries [i ].nr , p -> mmap , p -> ieot -> entries [i ].offset , NULL );
2146
2162
p -> offset += p -> ieot -> entries [i ].nr ;
2147
2163
}
2164
+
2165
+ trace2_thread_exit ();
2166
+
2148
2167
return NULL ;
2149
2168
}
2150
2169
@@ -2297,7 +2316,7 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist)
2297
2316
int err ;
2298
2317
2299
2318
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 );
2301
2320
if (err )
2302
2321
die (_ ("unable to create load_index_extensions thread: %s" ), strerror (err ));
2303
2322
@@ -2985,9 +3004,13 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
2985
3004
if (!strip_extensions && !drop_cache_tree && istate -> cache_tree ) {
2986
3005
struct strbuf sb = STRBUF_INIT ;
2987
3006
3007
+ trace2_region_enter ("index" , "write/extension/cache_tree" , NULL );
2988
3008
cache_tree_write (& sb , istate -> cache_tree );
2989
3009
err = write_index_ext_header (f , eoie_c , CACHE_EXT_TREE , sb .len ) < 0 ;
2990
3010
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
+
2991
3014
strbuf_release (& sb );
2992
3015
if (err )
2993
3016
return -1 ;
0 commit comments