@@ -1763,7 +1763,10 @@ static int read_index_extension(struct index_state *istate,
1763
1763
{
1764
1764
switch (CACHE_EXT (ext )) {
1765
1765
case CACHE_EXT_TREE :
1766
+ trace2_region_enter ("index" , "read/extension/cache_tree" , NULL );
1766
1767
istate -> cache_tree = cache_tree_read (data , sz );
1768
+ trace2_data_intmax ("index" , NULL , "read/extension/cache_tree/bytes" , (intmax_t )sz );
1769
+ trace2_region_leave ("index" , "read/extension/cache_tree" , NULL );
1767
1770
break ;
1768
1771
case CACHE_EXT_RESOLVE_UNDO :
1769
1772
istate -> resolve_undo = resolve_undo_read (data , sz );
@@ -2053,6 +2056,17 @@ static void *load_index_extensions(void *_data)
2053
2056
return NULL ;
2054
2057
}
2055
2058
2059
+ static void * load_index_extensions_threadproc (void * _data )
2060
+ {
2061
+ void * result ;
2062
+
2063
+ trace2_thread_start ("load_index_extensions" );
2064
+ result = load_index_extensions (_data );
2065
+ trace2_thread_exit ();
2066
+
2067
+ return result ;
2068
+ }
2069
+
2056
2070
/*
2057
2071
* A helper function that will load the specified range of cache entries
2058
2072
* from the memory mapped file and add them to the given index.
@@ -2129,12 +2143,17 @@ static void *load_cache_entries_thread(void *_data)
2129
2143
struct load_cache_entries_thread_data * p = _data ;
2130
2144
int i ;
2131
2145
2146
+ trace2_thread_start ("load_cache_entries" );
2147
+
2132
2148
/* iterate across all ieot blocks assigned to this thread */
2133
2149
for (i = p -> ieot_start ; i < p -> ieot_start + p -> ieot_blocks ; i ++ ) {
2134
2150
p -> consumed += load_cache_entry_block (p -> istate , p -> ce_mem_pool ,
2135
2151
p -> offset , p -> ieot -> entries [i ].nr , p -> mmap , p -> ieot -> entries [i ].offset , NULL );
2136
2152
p -> offset += p -> ieot -> entries [i ].nr ;
2137
2153
}
2154
+
2155
+ trace2_thread_exit ();
2156
+
2138
2157
return NULL ;
2139
2158
}
2140
2159
@@ -2304,7 +2323,7 @@ int do_read_index(struct index_state *istate, const char *path, int must_exist)
2304
2323
int err ;
2305
2324
2306
2325
p .src_offset = extension_offset ;
2307
- err = pthread_create (& p .pthread , NULL , load_index_extensions , & p );
2326
+ err = pthread_create (& p .pthread , NULL , load_index_extensions_threadproc , & p );
2308
2327
if (err )
2309
2328
die (_ ("unable to create load_index_extensions thread: %s" ), strerror (err ));
2310
2329
@@ -3034,9 +3053,13 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
3034
3053
!drop_cache_tree && istate -> cache_tree ) {
3035
3054
strbuf_reset (& sb );
3036
3055
3056
+ trace2_region_enter ("index" , "write/extension/cache_tree" , NULL );
3037
3057
cache_tree_write (& sb , istate -> cache_tree );
3038
3058
err = write_index_ext_header (f , eoie_c , CACHE_EXT_TREE , sb .len ) < 0 ;
3039
3059
hashwrite (f , sb .buf , sb .len );
3060
+ trace2_data_intmax ("index" , NULL , "write/extension/cache_tree/bytes" , (intmax_t )sb .len );
3061
+ trace2_region_leave ("index" , "write/extension/cache_tree" , NULL );
3062
+
3040
3063
if (err ) {
3041
3064
ret = -1 ;
3042
3065
goto out ;
0 commit comments