|
@@ -88,9 +88,9 @@ static void _starpu_update_workers_with_ctx(int *workerids, int nworkers, int sc
|
|
|
{
|
|
|
worker = _starpu_get_worker_struct(workerids[i]);
|
|
|
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(&worker->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker->sched_mutex);
|
|
|
_starpu_worker_gets_into_ctx(sched_ctx_id, worker);
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(&worker->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&worker->sched_mutex);
|
|
|
}
|
|
|
|
|
|
return;
|
|
@@ -106,15 +106,15 @@ static void _starpu_update_workers_without_ctx(int *workerids, int nworkers, int
|
|
|
worker = _starpu_get_worker_struct(workerids[i]);
|
|
|
if(now)
|
|
|
{
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(&worker->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker->sched_mutex);
|
|
|
_starpu_worker_gets_out_of_ctx(sched_ctx_id, worker);
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(&worker->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&worker->sched_mutex);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(&worker->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker->sched_mutex);
|
|
|
worker->removed_from_ctx[sched_ctx_id] = 1;
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(&worker->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&worker->sched_mutex);
|
|
|
}
|
|
|
}
|
|
|
return;
|
|
@@ -134,12 +134,12 @@ void starpu_sched_ctx_worker_shares_tasks_lists(int workerid, int sched_ctx_id)
|
|
|
/* if is the initial sched_ctx no point in taking the mutex, the workers are
|
|
|
not launched yet, or if the current worker is calling this */
|
|
|
if(!sched_ctx->is_initial_sched && workerid != curr_workerid)
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(&worker->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker->sched_mutex);
|
|
|
|
|
|
worker->shares_tasks_lists[sched_ctx_id] = 1;
|
|
|
|
|
|
if(!sched_ctx->is_initial_sched && workerid != curr_workerid)
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(&worker->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&worker->sched_mutex);
|
|
|
}
|
|
|
|
|
|
static void _starpu_add_workers_to_sched_ctx(struct _starpu_sched_ctx *sched_ctx, int *workerids, int nworkers,
|
|
@@ -174,12 +174,12 @@ static void _starpu_add_workers_to_sched_ctx(struct _starpu_sched_ctx *sched_ctx
|
|
|
int curr_workerid = starpu_worker_get_id();
|
|
|
struct _starpu_worker *worker_str = _starpu_get_worker_struct(workerids[i]);
|
|
|
if(curr_workerid != workerids[i])
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(&worker_str->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker_str->sched_mutex);
|
|
|
|
|
|
worker_str->removed_from_ctx[sched_ctx->id] = 0;
|
|
|
|
|
|
if(curr_workerid != workerids[i])
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(&worker_str->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&worker_str->sched_mutex);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
@@ -1069,7 +1069,7 @@ void starpu_sched_ctx_set_priority_on_level(int* workers_to_add, unsigned nworke
|
|
|
/* for(w = 0; w < nworkers_to_add; w++) */
|
|
|
/* { */
|
|
|
/* worker = _starpu_get_worker_struct(workers_to_add[w]); */
|
|
|
-/* STARPU_PTHREAD_MUTEX_LOCK(&worker->sched_mutex); */
|
|
|
+/* STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker->sched_mutex); */
|
|
|
/* struct _starpu_sched_ctx_list *l = NULL; */
|
|
|
/* for (l = worker->sched_ctx_list; l; l = l->next) */
|
|
|
/* { */
|
|
@@ -1077,12 +1077,12 @@ void starpu_sched_ctx_set_priority_on_level(int* workers_to_add, unsigned nworke
|
|
|
/* starpu_sched_ctx_get_hierarchy_level(l->sched_ctx) == starpu_sched_ctx_get_hierarchy_level(sched_ctx)) */
|
|
|
/* { */
|
|
|
/* /\* the lock is taken inside the func *\/ */
|
|
|
-/* STARPU_PTHREAD_MUTEX_UNLOCK(&worker->sched_mutex); */
|
|
|
+/* STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&worker->sched_mutex); */
|
|
|
/* starpu_sched_ctx_set_priority(&workers_to_add[w], 1, l->sched_ctx, priority); */
|
|
|
-/* STARPU_PTHREAD_MUTEX_LOCK(&worker->sched_mutex); */
|
|
|
+/* STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker->sched_mutex); */
|
|
|
/* } */
|
|
|
/* } */
|
|
|
-/* STARPU_PTHREAD_MUTEX_UNLOCK(&worker->sched_mutex); */
|
|
|
+/* STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&worker->sched_mutex); */
|
|
|
/* } */
|
|
|
/* return; */
|
|
|
|
|
@@ -1862,9 +1862,9 @@ void starpu_sched_ctx_set_priority(int *workers, int nworkers, unsigned sched_ct
|
|
|
for(w = 0; w < nworkers; w++)
|
|
|
{
|
|
|
worker = _starpu_get_worker_struct(workers[w]);
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(&worker->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker->sched_mutex);
|
|
|
_starpu_sched_ctx_list_move(&worker->sched_ctx_list, sched_ctx_id, priority);
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(&worker->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&worker->sched_mutex);
|
|
|
}
|
|
|
}
|
|
|
return;
|
|
@@ -1982,7 +1982,7 @@ void starpu_sched_ctx_move_task_to_ctx(struct starpu_task *task, unsigned sched_
|
|
|
if(workerid != -1 && manage_mutex)
|
|
|
{
|
|
|
worker = _starpu_get_worker_struct(workerid);
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(&worker->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&worker->sched_mutex);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1995,7 +1995,7 @@ void starpu_sched_ctx_move_task_to_ctx(struct starpu_task *task, unsigned sched_
|
|
|
_starpu_repush_task(j);
|
|
|
|
|
|
if(workerid != -1 && manage_mutex)
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(&worker->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker->sched_mutex);
|
|
|
}
|
|
|
|
|
|
void starpu_sched_ctx_list_task_counters_increment(unsigned sched_ctx_id, int workerid)
|
|
@@ -2005,9 +2005,9 @@ void starpu_sched_ctx_list_task_counters_increment(unsigned sched_ctx_id, int wo
|
|
|
struct _starpu_worker *worker = _starpu_get_worker_struct(workerid);
|
|
|
if (worker->nsched_ctxs > 1)
|
|
|
{
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(&worker->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker->sched_mutex);
|
|
|
_starpu_sched_ctx_list_push_event(worker->sched_ctx_list, sched_ctx_id);
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(&worker->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&worker->sched_mutex);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2057,7 +2057,7 @@ void starpu_sched_ctx_list_task_counters_decrement_all(struct starpu_task *task,
|
|
|
if(curr_workerid != -1)
|
|
|
{
|
|
|
curr_worker_str = _starpu_get_worker_struct(curr_workerid);
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(&curr_worker_str->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&curr_worker_str->sched_mutex);
|
|
|
}
|
|
|
|
|
|
struct _starpu_sched_ctx *sched_ctx = _starpu_get_sched_ctx_struct(sched_ctx_id);
|
|
@@ -2073,15 +2073,15 @@ void starpu_sched_ctx_list_task_counters_decrement_all(struct starpu_task *task,
|
|
|
worker_str = _starpu_get_worker_struct(worker);
|
|
|
if (worker_str->nsched_ctxs > 1)
|
|
|
{
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(&worker_str->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker_str->sched_mutex);
|
|
|
starpu_sched_ctx_list_task_counters_decrement(sched_ctx_id, worker);
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(&worker_str->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&worker_str->sched_mutex);
|
|
|
}
|
|
|
}
|
|
|
STARPU_PTHREAD_MUTEX_UNLOCK(&sched_ctx->sched_ctx_list_mutex);
|
|
|
|
|
|
if(curr_workerid != -1)
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(&curr_worker_str->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK_SCHED(&curr_worker_str->sched_mutex);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2094,7 +2094,7 @@ void starpu_sched_ctx_list_task_counters_reset_all(struct starpu_task *task, uns
|
|
|
if(curr_workerid != -1)
|
|
|
{
|
|
|
curr_worker_str = _starpu_get_worker_struct(curr_workerid);
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(&curr_worker_str->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&curr_worker_str->sched_mutex);
|
|
|
}
|
|
|
|
|
|
struct _starpu_sched_ctx *sched_ctx = _starpu_get_sched_ctx_struct(sched_ctx_id);
|
|
@@ -2110,15 +2110,15 @@ void starpu_sched_ctx_list_task_counters_reset_all(struct starpu_task *task, uns
|
|
|
worker_str = _starpu_get_worker_struct(worker);
|
|
|
if (worker_str->nsched_ctxs > 1)
|
|
|
{
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(&worker_str->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker_str->sched_mutex);
|
|
|
starpu_sched_ctx_list_task_counters_reset(sched_ctx_id, worker);
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(&worker_str->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&worker_str->sched_mutex);
|
|
|
}
|
|
|
}
|
|
|
STARPU_PTHREAD_MUTEX_UNLOCK(&sched_ctx->sched_ctx_list_mutex);
|
|
|
|
|
|
if(curr_workerid != -1)
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(&curr_worker_str->sched_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK_SCHED(&curr_worker_str->sched_mutex);
|
|
|
}
|
|
|
}
|
|
|
|