瀏覽代碼

Avoid making process spin in simgrid mode with blocking drivers

Samuel Thibault 10 年之前
父節點
當前提交
ea0d42143e
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      src/drivers/driver_common/driver_common.c

+ 5 - 1
src/drivers/driver_common/driver_common.c

@@ -338,7 +338,11 @@ struct starpu_task *_starpu_get_worker_task(struct _starpu_worker *worker, int w
 
 		_starpu_worker_set_status_sleeping(workerid);
 
-		if (_starpu_worker_can_block(memnode) && !_starpu_sched_ctx_last_worker_awake(worker))
+		if (_starpu_worker_can_block(memnode)
+#ifndef STARPU_SIMGRID
+				&& !_starpu_sched_ctx_last_worker_awake(worker)
+#endif
+				)
 		{
 			STARPU_PTHREAD_COND_WAIT(&worker->sched_cond, &worker->sched_mutex);
 			STARPU_PTHREAD_MUTEX_UNLOCK(&worker->sched_mutex);