|
@@ -2168,7 +2168,8 @@ unsigned _starpu_sched_ctx_last_worker_awake(struct _starpu_worker *worker)
|
|
* awake. In the worst case, both workers will follow this pessimistic
|
|
* awake. In the worst case, both workers will follow this pessimistic
|
|
* path and perform one more scheduling loop */
|
|
* path and perform one more scheduling loop */
|
|
STARPU_HG_DISABLE_CHECKING(_starpu_config.workers[worker->workerid].status);
|
|
STARPU_HG_DISABLE_CHECKING(_starpu_config.workers[worker->workerid].status);
|
|
- STARPU_ASSERT(_starpu_config.workers[worker->workerid].status == STATUS_SLEEPING);
|
|
|
|
|
|
+ STARPU_ASSERT(_starpu_config.workers[worker->workerid].status == STATUS_SLEEPING
|
|
|
|
+ || _starpu_config.workers[worker->workerid].status == STATUS_SLEEPING_SCHEDULING);
|
|
STARPU_HG_ENABLE_CHECKING(_starpu_config.workers[worker->workerid].status);
|
|
STARPU_HG_ENABLE_CHECKING(_starpu_config.workers[worker->workerid].status);
|
|
struct _starpu_sched_ctx_list_iterator list_it;
|
|
struct _starpu_sched_ctx_list_iterator list_it;
|
|
|
|
|
|
@@ -2202,7 +2203,8 @@ unsigned _starpu_sched_ctx_last_worker_awake(struct _starpu_worker *worker)
|
|
* pessimistic path and assume that they are
|
|
* pessimistic path and assume that they are
|
|
* the last worker awake */
|
|
* the last worker awake */
|
|
STARPU_HG_DISABLE_CHECKING(_starpu_config.workers[workerid].status);
|
|
STARPU_HG_DISABLE_CHECKING(_starpu_config.workers[workerid].status);
|
|
- const int cond = _starpu_config.workers[workerid].status != STATUS_SLEEPING;
|
|
|
|
|
|
+ const int cond = _starpu_config.workers[workerid].status != STATUS_SLEEPING
|
|
|
|
+ && _starpu_config.workers[workerid].status != STATUS_SLEEPING_SCHEDULING;
|
|
STARPU_HG_ENABLE_CHECKING(_starpu_config.workers[workerid].status);
|
|
STARPU_HG_ENABLE_CHECKING(_starpu_config.workers[workerid].status);
|
|
|
|
|
|
if (cond)
|
|
if (cond)
|