瀏覽代碼

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;