Parcourir la source

Rename multilist_init into multilist_head_init, to allow initializing an element properly

Samuel Thibault il y a 7 ans
Parent
commit
ade443493d
3 fichiers modifiés avec 15 ajouts et 9 suppressions
  1. 5 5
      src/common/graph.c
  2. 9 3
      src/common/list.h
  3. 1 1
      src/core/jobs.c

+ 5 - 5
src/common/graph.c

@@ -2,7 +2,7 @@
  *
  * Copyright (C) 2016-2017                                CNRS
  * Copyright (C) 2017                                     Inria
- * Copyright (C) 2016-2017                                Université de Bordeaux
+ * Copyright (C) 2016-2018                                Université de Bordeaux
  *
  * StarPU is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
@@ -53,11 +53,11 @@ struct _starpu_graph_node_multilist_dropped dropped;
 void _starpu_graph_init(void)
 {
 	STARPU_PTHREAD_RWLOCK_INIT(&graph_lock, NULL);
-	_starpu_graph_node_multilist_init_top(&top);
-	_starpu_graph_node_multilist_init_bottom(&bottom);
-	_starpu_graph_node_multilist_init_all(&all);
+	_starpu_graph_node_multilist_head_init_top(&top);
+	_starpu_graph_node_multilist_head_init_bottom(&bottom);
+	_starpu_graph_node_multilist_head_init_all(&all);
 	STARPU_PTHREAD_MUTEX_INIT(&dropped_lock, NULL);
-	_starpu_graph_node_multilist_init_dropped(&dropped);
+	_starpu_graph_node_multilist_head_init_dropped(&dropped);
 }
 
 /* LockWR the graph lock */

+ 9 - 3
src/common/list.h

@@ -1,6 +1,6 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
- * Copyright (C) 2008-2017                                Université de Bordeaux
+ * Copyright (C) 2008-2018                                Université de Bordeaux
  * Copyright (C) 2010-2012,2015-2017                      CNRS
  * Copyright (C) 2017                                     Inria
  * Copyright (C) 2013                                     Thibaut Lambert
@@ -298,11 +298,17 @@ LIST_INLINE TYPE *ENAME##_of_multilist_##MEMBER(struct ENAME##_multilist_##MEMBE
 } \
 \
 /* Initialize a list head.  */ \
-LIST_INLINE void ENAME##_multilist_init_##MEMBER(struct ENAME##_multilist_##MEMBER *head) { \
+LIST_INLINE void ENAME##_multilist_head_init_##MEMBER(struct ENAME##_multilist_##MEMBER *head) { \
 	head->next = head; \
 	head->prev = head; \
 } \
 \
+/* Initialize a list element.  */ \
+LIST_INLINE void ENAME##_multilist_init_##MEMBER(TYPE *e) { \
+	(e)->MEMBER.next = NULL; \
+	(e)->MEMBER.prev = NULL; \
+} \
+\
 /* Push element to head of a list.  */ \
 LIST_INLINE void ENAME##_multilist_push_front_##MEMBER(struct ENAME##_multilist_##MEMBER *head, TYPE *e) { \
 	STARPU_ASSERT_MULTILIST(e->MEMBER.prev == NULL); \
@@ -359,7 +365,7 @@ LIST_INLINE TYPE *ENAME##_multilist_next_##MEMBER(TYPE *e) { \
  /* Move a list from its head to another head.  */ \
 LIST_INLINE void ENAME##_multilist_move_##MEMBER(struct ENAME##_multilist_##MEMBER *head, struct ENAME##_multilist_##MEMBER *newhead) { \
 	if (ENAME##_multilist_empty_##MEMBER(head)) \
-		ENAME##_multilist_init_##MEMBER(newhead); \
+		ENAME##_multilist_head_init_##MEMBER(newhead); \
 	else { \
 		newhead->next = head->next; \
 		newhead->next->prev = newhead; \

+ 1 - 1
src/core/jobs.c

@@ -46,7 +46,7 @@ void _starpu_job_init(void)
 {
 	max_memory_use = starpu_get_env_number_default("STARPU_MAX_MEMORY_USE", 0);
 #ifdef STARPU_DEBUG
-	_starpu_job_multilist_init_all_submitted(&all_jobs_list);
+	_starpu_job_multilist_head_init_all_submitted(&all_jobs_list);
 #endif
 }