Explorar o código

fix build with SimGrid

Olivier Aumage %!s(int64=8) %!d(string=hai) anos
pai
achega
e9bb7a4189
Modificáronse 2 ficheiros con 5 adicións e 1 borrados
  1. 1 1
      src/core/simgrid.c
  2. 4 0
      src/drivers/driver_common/driver_common.c

+ 1 - 1
src/core/simgrid.c

@@ -451,7 +451,7 @@ static int task_execute(int argc STARPU_ATTRIBUTE_UNUSED, char *argv[] STARPU_AT
 
 		*task->finished = 1;
 		/* The worker which started this task may be sleeping out of tasks, wake it  */
-		starpu_wake_worker(workerid);
+		_starpu_wake_worker_relax(workerid);
 
 		free(task);
 	}

+ 4 - 0
src/drivers/driver_common/driver_common.c

@@ -343,7 +343,9 @@ struct starpu_task *_starpu_get_worker_task(struct _starpu_worker *worker, int w
 {
 	struct starpu_task *task;
 	unsigned executing STARPU_ATTRIBUTE_UNUSED = 0;
+#if !defined(STARPU_SIMGRID)
 	unsigned keep_awake = 0;
+#endif
 
 	STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker->sched_mutex);
 	_starpu_worker_enter_sched_op(worker);
@@ -365,11 +367,13 @@ struct starpu_task *_starpu_get_worker_task(struct _starpu_worker *worker, int w
 		STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&worker->sched_mutex);
 		task = _starpu_pop_task(worker);
 		STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker->sched_mutex);
+#if !defined(STARPU_SIMGRID)
 		if (worker->state_keep_awake)
 		{
 			keep_awake = worker->state_keep_awake;
 			worker->state_keep_awake = 0;
 		}
+#endif
 	}
 
 #if !defined(STARPU_SIMGRID)