On Wed, Oct 07, 2020 at 11:39:47AM -0400, Jeff King wrote: > You should see the: > > Receiving objects: 100% (300970/300970), 74.39 MiB | 57.93 MiB/s, done. > > progress. We used to follow that with: > > Resolving deltas: 100% (249340/249340), done. > > but now you get nothing for several seconds while we resolve deltas. > > The problem bisects to f08cbf60fe (index-pack: make quantum of work > smaller, 2020-09-08) at the tip of jt/threaded-index-pack. I haven't dug > further yet. Hmm. That commit removes the call to display_progress() from the main loop of threaded_second_pass(), and doesn't appear to add another one anywhere. Is the solution really as simple as adding it back in? I.e. diff --git a/builtin/index-pack.c b/builtin/index-pack.c index 8acd078aa0..6dbb4317e0 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -1028,6 +1028,10 @@ static void *threaded_second_pass(void *data) struct object_entry *child_obj; struct base_data *child; + counter_lock(); + display_progress(progress, nr_resolved_deltas); + counter_unlock(); + work_lock(); if (list_empty(&work_head)) { /* That _seems_ to work fine, but I'm not sure why it was removed in the first place (for a good reason, or simply as an accident when rewriting the variable declarations at the top of the loop?). -Peff