Przeglądaj źródła

Make sure cache coherency is correct between codelet fields and checked field

Samuel Thibault 5 lat temu
rodzic
commit
10070d4ed9
1 zmienionych plików z 4 dodań i 0 usunięć
  1. 4 0
      src/core/task.c

+ 4 - 0
src/core/task.c

@@ -587,7 +587,10 @@ void _starpu_codelet_check_deprecated_fields(struct starpu_codelet *cl)
 	if (!cl)
 		return;
 	if (cl->checked)
+	{
+		STARPU_RMB();
 		return;
+	}
 
 	uint32_t where = cl->where;
 	int is_where_unset = where == 0;
@@ -714,6 +717,7 @@ void _starpu_codelet_check_deprecated_fields(struct starpu_codelet *cl)
 	}
 	cl->where = where;
 
+	STARPU_WMB();
 	cl->checked = 1;
 }