diff --git a/src/engine.c b/src/engine.c index dbb66869bce9fa409d0a49c6660d48b95f7093e8..45ed57f8729d4afdfd3ebcdbda0ee19e090da9e9 100644 --- a/src/engine.c +++ b/src/engine.c @@ -210,6 +210,9 @@ void engine_repartition(struct engine *e) { /* Sorting indices. */ if (e->s->cells_top != NULL) space_free_cells(e->s); + /* Report the time spent in the different task categories */ + if (e->verbose) scheduler_report_task_times(&e->sched, e->nr_threads); + /* Task arrays. */ scheduler_free_tasks(&e->sched); @@ -1671,7 +1674,8 @@ void engine_rebuild(struct engine *e, const int repartitioned, e->restarting = 0; /* Report the time spent in the different task categories */ - if (e->verbose) scheduler_report_task_times(&e->sched, e->nr_threads); + if (e->verbose && !repartitioned) + scheduler_report_task_times(&e->sched, e->nr_threads); /* Give some breathing space */ scheduler_free_tasks(&e->sched); diff --git a/src/scheduler.c b/src/scheduler.c index d7fe3fb46583b92b9b505cf4f9313aabebf01032..14d3627f0e199a288b0a38fc28a366d855c181be 100644 --- a/src/scheduler.c +++ b/src/scheduler.c @@ -2286,6 +2286,7 @@ void scheduler_free_tasks(struct scheduler *s) { s->tid_active = NULL; } s->size = 0; + s->nr_tasks = 0; } /**