瀏覽代碼

Document to helgrind that the last thread of the cg resets cg->remaining after all previous have decremented it

Samuel Thibault 9 年之前
父節點
當前提交
c8d60c7760
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      src/core/dependencies/cg.c

+ 3 - 1
src/core/dependencies/cg.c

@@ -1,6 +1,6 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
- * Copyright (C) 2010-2012, 2014  Université de Bordeaux
+ * Copyright (C) 2010-2012, 2014-2015  Université de Bordeaux
  * Copyright (C) 2010, 2011, 2012, 2013, 2015  CNRS
  * Copyright (C) 2012 INRIA
  *
@@ -99,9 +99,11 @@ void _starpu_notify_cg(struct _starpu_cg *cg)
 {
 	STARPU_ASSERT(cg);
 	unsigned remaining = STARPU_ATOMIC_ADD(&cg->remaining, -1);
+	ANNOTATE_HAPPENS_BEFORE(&cg->remaining);
 
 	if (remaining == 0)
 	{
+		ANNOTATE_HAPPENS_AFTER(&cg->remaining);
 		cg->remaining = cg->ntags;
 
 		struct _starpu_tag *tag;