@@ -1850,7 +1850,10 @@ static int read_index_extension(struct index_state *istate,
1850
1850
{
1851
1851
switch (CACHE_EXT (ext )) {
1852
1852
case CACHE_EXT_TREE :
1853
+ trace2_region_enter ("index" , "read/extension/cache_tree" , NULL );
1853
1854
istate -> cache_tree = cache_tree_read (data , sz );
1855
+ trace2_data_intmax ("index" , NULL , "read/extension/cache_tree/bytes" , (intmax_t )sz );
1856
+ trace2_region_leave ("index" , "read/extension/cache_tree" , NULL );
1854
1857
break ;
1855
1858
case CACHE_EXT_RESOLVE_UNDO :
1856
1859
istate -> resolve_undo = resolve_undo_read (data , sz );
@@ -2116,6 +2119,17 @@ static void *load_index_extensions(void *_data)
2116
2119
return NULL ;
2117
2120
}
2118
2121
2122
+ static void * load_index_extensions_threadproc (void * _data )
2123
+ {
2124
+ void * result ;
2125
+
2126
+ trace2_thread_start ("load_index_extensions" );
2127
+ result = load_index_extensions (_data );
2128
+ trace2_thread_exit ();
2129
+
2130
+ return result ;
2131
+ }
2132
+
2119
2133
/*
2120
2134
* A helper function that will load the specified range of cache entries
2121
2135
* from the memory mapped file and add them to the given index.
@@ -2192,12 +2206,17 @@ static void *load_cache_entries_thread(void *_data)
2192
2206
struct load_cache_entries_thread_data * p = _data ;
2193
2207
int i ;
2194
2208
2209
+ trace2_thread_start ("load_cache_entries" );
2210
+
2195
2211
/* iterate across all ieot blocks assigned to this thread */
2196
2212
for (i = p -> ieot_start ; i < p -> ieot_start + p -> ieot_blocks ; i ++ ) {
2197
2213
p -> consumed += load_cache_entry_block (p -> istate , p -> ce_mem_pool ,
2198
2214
p -> offset , p -> ieot -> entries [i ].nr , p -> mmap , p -> ieot -> entries [i ].offset , NULL );
2199
2215
p -> offset += p -> ieot -> entries [i ].nr ;
2200
2216
}
2217
+
2218
+ trace2_thread_exit ();
2219
+
2201
2220
return NULL ;
2202
2221
}
2203
2222
@@ -2366,7 +2385,7 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist)
2366
2385
int err ;
2367
2386
2368
2387
p .src_offset = extension_offset ;
2369
- err = pthread_create (& p .pthread , NULL , load_index_extensions , & p );
2388
+ err = pthread_create (& p .pthread , NULL , load_index_extensions_threadproc , & p );
2370
2389
if (err )
2371
2390
die (_ ("unable to create load_index_extensions thread: %s" ), strerror (err ));
2372
2391
@@ -3075,9 +3094,13 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
3075
3094
if (!strip_extensions && !drop_cache_tree && istate -> cache_tree ) {
3076
3095
struct strbuf sb = STRBUF_INIT ;
3077
3096
3097
+ trace2_region_enter ("index" , "write/extension/cache_tree" , NULL );
3078
3098
cache_tree_write (& sb , istate -> cache_tree );
3079
3099
err = write_index_ext_header (f , eoie_c , CACHE_EXT_TREE , sb .len ) < 0 ;
3080
3100
hashwrite (f , sb .buf , sb .len );
3101
+ trace2_data_intmax ("index" , NULL , "write/extension/cache_tree/bytes" , (intmax_t )sb .len );
3102
+ trace2_region_leave ("index" , "write/extension/cache_tree" , NULL );
3103
+
3081
3104
strbuf_release (& sb );
3082
3105
if (err )
3083
3106
return -1 ;
0 commit comments