Преглед на файлове

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

Simon Archipoff преди 12 години
родител
ревизия
8160206f31
променени са 2 файла, в които са добавени 8 реда и са изтрити 3 реда
  1. 4 1
      src/sched_policies/deque_modeling_policy_data_aware.c
  2. 4 2
      src/sched_policies/eager_central_policy.c

+ 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);