Junio C Hamano <[email protected]> writes:
>> This patch series replaces my earlier
>> * jh/memihash-opt (2017-02-17) 5 commits
>> patch series.
>
> Ahh. I was scratching my head trying to remember why some of these
> look so familiar. [PATCH v2 ...] would have helped.
>
> Thank you for an update.
One notable difference I noticed since the previous round is that
this no longer adds precomputed hash to "struct cache_entry". As
you are aiming to manage an index with a large number of entries,
this is a welcome change that makes sense.
$ make NO_PTHREADS=NoThanks name-hash.o
CC name-hash.o
name-hash.c: In function 'lazy_init_name_hash':
name-hash.c:573:3: error: implicit declaration of function
'threaded_lazy_init_name_hash' [-Werror=implicit-function-declaration]
threaded_lazy_init_name_hash(istate);
^
name-hash.c: In function 'test_lazy_init_name_hash':
name-hash.c:595:2: error: 'lazy_nr_dir_threads' undeclared (first use in this
function)
lazy_nr_dir_threads = 0;
^
name-hash.c:595:2: note: each undeclared identifier is reported only once for
each function it appears in
name-hash.c:596:2: error: 'lazy_try_threaded' undeclared (first use in this
function)
lazy_try_threaded = try_threaded;
^
name-hash.c:601:1: error: control reaches end of non-void function
[-Werror=return-type]
}
^
cc1: all warnings being treated as errors
make: *** [name-hash.o] Error 1
still has to be addressed. Perhaps squash pieces of these into
appropriate patches in the series?
name-hash.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/name-hash.c b/name-hash.c
index a5826505e0..725ac22886 100644
--- a/name-hash.c
+++ b/name-hash.c
@@ -118,9 +118,16 @@ static int cache_entry_cmp(const struct cache_entry *ce1,
return remove ? !(ce1 == ce2) : 0;
}
+static int lazy_try_threaded = 1;
+static int lazy_nr_dir_threads = 0;
#ifdef NO_PTHREADS
+static void threaded_lazy_init_name_hash(struct index_state *istate)
+{
+ ; /* nothing */
+}
+
static int lookup_lazy_params(struct index_state *istate)
{
return 0;
@@ -153,8 +160,6 @@ static int lookup_lazy_params(struct index_state *istate)
*/
#define LAZY_MAX_MUTEX (32)
-static int lazy_try_threaded = 1;
-static int lazy_nr_dir_threads = 0;
static pthread_mutex_t *lazy_dir_mutex_array;
/*