Browse Source

make eager_central_policy dont respect priorities
make dm and dmda respect priorities in the right way

Simon Archipoff 12 years ago
parent
commit
8160206f31

+ 4 - 1
src/sched_policies/deque_modeling_policy_data_aware.c

@@ -356,7 +356,10 @@ static int push_task_on_best_worker(struct starpu_task *task, int best_workerid,
 	else
 	{
 		STARPU_PTHREAD_MUTEX_LOCK(sched_mutex);
-		ret = _starpu_fifo_push_task(dt->queue_array[best_workerid], task);
+		starpu_task_list_push_back (&dt->queue_array[best_workerid]->taskq, task);
+		dt->queue_array[best_workerid]->ntasks++;
+		dt->queue_array[best_workerid]->nprocessed++;
+		
 		STARPU_PTHREAD_COND_SIGNAL(sched_cond);
 		starpu_push_task_end(task);
 		STARPU_PTHREAD_MUTEX_UNLOCK(sched_mutex);

+ 4 - 2
src/sched_policies/eager_central_policy.c

@@ -64,10 +64,12 @@ static int push_task_eager_policy(struct starpu_task *task)
  {
 	unsigned sched_ctx_id = task->sched_ctx;
 	struct _starpu_eager_center_policy_data *data = (struct _starpu_eager_center_policy_data*)starpu_sched_ctx_get_policy_data(sched_ctx_id);
-	int ret_val = -1;
+	int ret_val = 0;
 		
 	STARPU_PTHREAD_MUTEX_LOCK(&data->policy_mutex);
-	ret_val = _starpu_fifo_push_task(data->fifo, task);
+	starpu_task_list_push_back(&data->fifo->taskq,task);
+	data->fifo->ntasks++;
+	data->fifo->nprocessed++;
 
 	starpu_push_task_end(task);
 	STARPU_PTHREAD_MUTEX_UNLOCK(&data->policy_mutex);