Explorar o código

Make the random policy check that the task can be executed

Samuel Thibault %!s(int64=13) %!d(string=hai) anos
pai
achega
37850e3dae
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      src/sched_policies/random_policy.c

+ 1 - 1
src/sched_policies/random_policy.c

@@ -49,7 +49,7 @@ static int _random_push_task(struct starpu_task *task, unsigned prio)
 		enum starpu_perf_archtype perf_arch = starpu_worker_get_perf_archtype(worker);
 		double worker_alpha = starpu_worker_get_relative_speedup(perf_arch);
 
-		if (alpha + worker_alpha > random) {
+		if (alpha + worker_alpha > random && starpu_worker_can_execute_task(worker, task, 0)) {
 			/* we found the worker */
 			selected = worker;
 			break;