浏览代码

data_request: canonicalize tests in _starpu_create_data_request

coverity complains that src_replicate might be NULL in some cases. Make
ifs coherent so that it understands the identical cases.
Samuel Thibault 4 年之前
父节点
当前提交
a3eb984f51
共有 1 个文件被更改,包括 7 次插入7 次删除
  1. 7 7
      src/datawizard/data_request.c

+ 7 - 7
src/datawizard/data_request.c

@@ -163,7 +163,12 @@ struct _starpu_data_request *_starpu_create_data_request(starpu_data_handle_t ha
 	if (handling_node == -1)
 		handling_node = STARPU_MAIN_RAM;
 	r->handling_node = handling_node;
-	if (dst_replicate && handling_node == dst_replicate->memory_node)
+	if (is_write_invalidation)
+	{
+		r->peer_node = 0;
+		r->inout = _STARPU_DATA_REQUEST_IN;
+	}
+	else if (dst_replicate->memory_node == handling_node)
 	{
 		if (src_replicate)
 			r->peer_node = src_replicate->memory_node;
@@ -171,14 +176,9 @@ struct _starpu_data_request *_starpu_create_data_request(starpu_data_handle_t ha
 			r->peer_node = 0;
 		r->inout = _STARPU_DATA_REQUEST_IN;
 	}
-	else if (src_replicate)
-	{
-		r->peer_node = dst_replicate->memory_node;
-		r->inout = _STARPU_DATA_REQUEST_OUT;
-	}
 	else
 	{
-		r->peer_node = 0;
+		r->peer_node = dst_replicate->memory_node;
 		r->inout = _STARPU_DATA_REQUEST_OUT;
 	}
 	STARPU_ASSERT(starpu_node_get_kind(handling_node) == STARPU_CPU_RAM || _starpu_memory_node_get_nworkers(handling_node));