Prechádzať zdrojové kódy

Drop synchronization from stack queues, it is not up to structures to implement this

Samuel Thibault 9 rokov pred
rodič
commit
c52e9655aa

+ 1 - 7
src/sched_policies/stack_queues.c

@@ -58,9 +58,8 @@ unsigned _starpu_get_stack_nprocessed(struct _starpu_stack_jobq *stack_queue)
 	return stack_queue->nprocessed;
 }
 
-void _starpu_stack_push_task(struct _starpu_stack_jobq *stack_queue, starpu_pthread_mutex_t *sched_mutex, starpu_pthread_cond_t *sched_cond STARPU_ATTRIBUTE_UNUSED, struct _starpu_job *task)
+void _starpu_stack_push_task(struct _starpu_stack_jobq *stack_queue, struct _starpu_job *task)
 {
-	STARPU_PTHREAD_MUTEX_LOCK(sched_mutex);
 	total_number_of_jobs++;
 
 	if (task->task->priority)
@@ -69,11 +68,6 @@ void _starpu_stack_push_task(struct _starpu_stack_jobq *stack_queue, starpu_pthr
 		_starpu_job_list_push_front(&stack_queue->jobq, task);
 	stack_queue->njobs++;
 	stack_queue->nprocessed++;
-
-#ifndef STARPU_NON_BLOCKING_DRIVERS
-	STARPU_PTHREAD_COND_SIGNAL(sched_cond);
-#endif
-	STARPU_PTHREAD_MUTEX_UNLOCK(sched_mutex);
 }
 
 struct _starpu_job *_starpu_stack_pop_task(struct _starpu_stack_jobq *stack_queue, starpu_pthread_mutex_t *sched_mutex, int workerid STARPU_ATTRIBUTE_UNUSED)

+ 1 - 1
src/sched_policies/stack_queues.h

@@ -41,7 +41,7 @@ struct _starpu_stack_jobq
 
 struct _starpu_stack_jobq *_starpu_create_stack(void);
 
-void _starpu_stack_push_task(struct _starpu_stack_jobq *stack, starpu_pthread_mutex_t *sched_mutex, starpu_pthread_cond_t *sched_cond, struct _starpu_job *task);
+void _starpu_stack_push_task(struct _starpu_stack_jobq *stack, struct _starpu_job *task);
 
 struct _starpu_job *_starpu_stack_pop_task(struct _starpu_stack_jobq *stack, starpu_pthread_mutex_t *sched_mutex, int workerid);