name-hash: use trace2 regions for init

The lazy_init_name_hash() populates a hashset with all filenames and another with all directories represented in the index. This is run only if we need to use the hashsets to check for existence or case-folding renames. Place trace2 regions where there is already a performance trace. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Derrick Stolee committed Jan 23, 2021 at 19:58 UTC 6a9372f4ef218d189120e969f6dc01f9fcd5317a
1 file changed +3
name-hash.c
+3
@@ -7,6 +7,7 @@
7 */
8 #include "cache.h"
9 #include "thread-utils.h"
10 +#include "trace2.h"
11
12 struct dir_entry {
13 struct hashmap_entry ent;
@@ -577,6 +578,7 @@ static void lazy_init_name_hash(struct index_state *istate)
578 if (istate->name_hash_initialized)
579 return;
580 trace_performance_enter();
581 + trace2_region_enter("index", "name-hash-init", istate->repo);
582 hashmap_init(&istate->name_hash, cache_entry_cmp, NULL, istate->cache_nr);
583 hashmap_init(&istate->dir_hash, dir_entry_cmp, NULL, istate->cache_nr);
584
@@ -597,6 +599,7 @@ static void lazy_init_name_hash(struct index_state *istate)
599 }
600
601 istate->name_hash_initialized = 1;
602 + trace2_region_leave("index", "name-hash-init", istate->repo);
603 trace_performance_leave("initialize name hash");
604 }
605