Sfoglia il codice sorgente

update some mutex_lock_sched()

Olivier Aumage 8 anni fa
parent
commit
ee410312a3

+ 3 - 3
src/sched_policies/graph_test_policy.c

@@ -201,9 +201,9 @@ static void do_schedule_graph_test_policy(unsigned sched_ctx_id)
 	{
 		/* Wake each worker */
 		unsigned worker = workers->get_next(workers, &it);
-		STARPU_PTHREAD_MUTEX_LOCK_SCHED(&worker->sched_mutex);
-		starpu_wake_worker(worker);
-		STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&worker->sched_mutex);
+		_starpu_worker_lock(worker);
+		starpu_wake_worker_locked(worker);
+		_starpu_worker_unlock(worker);
 	}
 #endif
 }

+ 2 - 8
src/sched_policies/parallel_eager.c

@@ -259,19 +259,13 @@ static struct starpu_task *pop_task_peager_policy(unsigned sched_ctx_id)
 				int local_worker = combined_workerid[i];
 
 				alias->destroy = 1;
-				starpu_pthread_mutex_t *sched_mutex;
-				starpu_pthread_cond_t *sched_cond;
-				starpu_worker_get_sched_condition(local_worker, &sched_mutex, &sched_cond);
-
-				STARPU_PTHREAD_MUTEX_LOCK_SCHED(sched_mutex);
-
+				_starpu_worker_lock(local_worker);
 				_starpu_fifo_push_task(data->local_fifo[local_worker], alias);
 
 #if !defined(STARPU_NON_BLOCKING_DRIVERS) || defined(STARPU_SIMGRID)
 				starpu_wake_worker_locked(local_worker);
 #endif
-				STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(sched_mutex);
-
+				_starpu_worker_unlock(local_worker);
 			}
 
 			/* The master also manipulated an alias */