Преглед изворни кода

eager central policy : wake up a single worker when submitting a task

Pierre-André Wacrenier пре 11 година
родитељ
комит
c97cc4c390
1 измењених фајлова са 3 додато и 3 уклоњено
  1. 3 3
      src/sched_policies/eager_central_policy.c

+ 3 - 3
src/sched_policies/eager_central_policy.c

@@ -89,9 +89,9 @@ static int push_task_eager_policy(struct starpu_task *task)
 		starpu_pthread_mutex_t *sched_mutex;
 		starpu_pthread_cond_t *sched_cond;
 		starpu_worker_get_sched_condition(worker, &sched_mutex, &sched_cond);
-		STARPU_PTHREAD_MUTEX_LOCK(sched_mutex);
-		STARPU_PTHREAD_COND_SIGNAL(sched_cond);
-		STARPU_PTHREAD_MUTEX_UNLOCK(sched_mutex);
+
+		if (starpu_wakeup_worker(worker, sched_cond, sched_mutex))
+		    break; // wake up a single worker
 	}
 
 	return ret_val;