瀏覽代碼

Add _starpu_fifo_empty

Samuel Thibault 13 年之前
父節點
當前提交
086a1d93f3
共有 3 個文件被更改,包括 8 次插入1 次删除
  1. 1 1
      src/sched_policies/eager_central_policy.c
  2. 5 0
      src/sched_policies/fifo_queues.c
  3. 2 0
      src/sched_policies/fifo_queues.h

+ 1 - 1
src/sched_policies/eager_central_policy.c

@@ -46,7 +46,7 @@ static void initialize_eager_center_policy(struct starpu_machine_topology *topol
 static void deinitialize_eager_center_policy(__attribute__ ((unused)) struct starpu_machine_topology *topology, 
 		   __attribute__ ((unused)) struct starpu_sched_policy *_policy) 
 {
-	STARPU_ASSERT(!_starpu_fifo_pop_task(fifo, starpu_worker_get_id()));
+	STARPU_ASSERT(_starpu_fifo_empty(fifo));
 
 	/* deallocate the job queue */
 	_starpu_destroy_fifo(fifo);

+ 5 - 0
src/sched_policies/fifo_queues.c

@@ -47,6 +47,11 @@ void _starpu_destroy_fifo(struct _starpu_fifo_taskq *fifo)
 	free(fifo);
 }
 
+int _starpu_fifo_empty(struct _starpu_fifo_taskq *fifo)
+{
+	return fifo->ntasks == 0;
+}
+
 /* TODO: revert front/back? */
 int _starpu_fifo_push_task(struct _starpu_fifo_taskq *fifo_queue, pthread_mutex_t *sched_mutex, pthread_cond_t *sched_cond, struct starpu_task *task)
 {

+ 2 - 0
src/sched_policies/fifo_queues.h

@@ -41,6 +41,8 @@ struct _starpu_fifo_taskq {
 struct _starpu_fifo_taskq*_starpu_create_fifo(void);
 void _starpu_destroy_fifo(struct _starpu_fifo_taskq *fifo);
 
+int _starpu_fifo_empty(struct _starpu_fifo_taskq *fifo);
+
 int _starpu_fifo_push_task(struct _starpu_fifo_taskq *fifo, pthread_mutex_t *sched_mutex, pthread_cond_t *sched_cond, struct starpu_task *task);
 
 struct starpu_task *_starpu_fifo_pop_task(struct _starpu_fifo_taskq *fifo, int workerid);