diff --git a/src/engine.c b/src/engine.c index 3a561c91cf0f735308cd97785bd662f624ed3417..5862181ec6330283a6787010352e03e94d230f3a 100644 --- a/src/engine.c +++ b/src/engine.c @@ -3028,6 +3028,15 @@ void engine_step(struct engine *e) { if (e->step % 100 == 2) e->forcerepart = 1; #endif + /* Are we drifting everything ? */ + if (e->policy & engine_policy_drift_all) { + engine_drift_all(e); + +#ifdef SWIFT_DEBUG_CHECKS + space_check_drift_point(e->s, e->ti_current); +#endif + } + /* Print the number of active tasks ? */ if (e->verbose) engine_print_task_counts(e); @@ -3147,6 +3156,11 @@ void engine_do_drift_all_mapper(void *map_data, int num_elements, void engine_drift_all(struct engine *e) { const ticks tic = getticks(); + +#ifdef SWIFT_DEBUG_CHECKS + if (e->nodeID == 0) message("Drifting all"); +#endif + threadpool_map(&e->threadpool, engine_do_drift_all_mapper, e->s->cells_top, e->s->nr_cells, sizeof(struct cell), 1, e);