diff --git a/src/runner.c b/src/runner.c index ffe1b13745f8b713e19c47e9efa7e8c94010622e..37c6030889b4aa5f65b524557b0936819eecd49a 100644 --- a/src/runner.c +++ b/src/runner.c @@ -998,9 +998,13 @@ void runner_do_unskip_mapper(void *map_data, int num_elements, for (int ind = 0; ind < num_elements; ind++) { struct cell *c = &s->cells_top[local_cells[ind]]; if (c != NULL) { + + /* Hydro tasks */ if (e->policy & engine_policy_hydro) runner_do_unskip_hydro(c, e); - if (e->policy & - (engine_policy_self_gravity | engine_policy_external_gravity)) + + /* All gravity tasks */ + if ((e->policy & engine_policy_self_gravity) || + (e->policy & engine_policy_external_gravity)) runner_do_unskip_gravity(c, e); } } diff --git a/src/scheduler.c b/src/scheduler.c index c7376ab56638e38f455ddb8ce56e4deefc7cbb8f..d81e5b65567f2249250fd4b1ce5a19593e4b04b7 100644 --- a/src/scheduler.c +++ b/src/scheduler.c @@ -1325,6 +1325,9 @@ void scheduler_reweight(struct scheduler *s, int verbose) { case task_type_grav_long_range: cost = wscale * gcount_i; break; + case task_type_grav_mm: + cost = wscale * (gcount_i + gcount_j); + break; case task_type_end_force: cost = wscale * count_i + wscale * gcount_i; break;