Bläddra i källkod

data_request: Factorize code

Samuel Thibault 4 år sedan
förälder
incheckning
f7d13915bc
1 ändrade filer med 17 tillägg och 12 borttagningar
  1. 17 12
      src/datawizard/data_request.c

+ 17 - 12
src/datawizard/data_request.c

@@ -204,20 +204,25 @@ struct _starpu_data_request *_starpu_create_data_request(starpu_data_handle_t ha
 		STARPU_ASSERT(!handle->write_invalidation_req);
 		handle->write_invalidation_req = r;
 	}
-	else if (mode & STARPU_R)
-	{
-		unsigned src_node = src_replicate->memory_node;
-		STARPU_ASSERT(!dst_replicate->request[src_node]);
-		dst_replicate->request[src_node] = r;
-		/* Take a reference on the source for the request to be able to read it */
-		src_replicate->refcnt++;
-		handle->busy_count++;
-	}
 	else
 	{
-		unsigned dst_node = dst_replicate->memory_node;
-		STARPU_ASSERT(!dst_replicate->request[dst_node]);
-		dst_replicate->request[dst_node] = r;
+		unsigned node;
+
+		if (mode & STARPU_R)
+			node = src_replicate->memory_node;
+		else
+			node = dst_replicate->memory_node;
+
+		STARPU_ASSERT(!dst_replicate->request[node]);
+		dst_replicate->request[node] = r;
+
+		if (mode & STARPU_R)
+		{
+			/* Take a reference on the source for the request to be
+			 * able to read it */
+			src_replicate->refcnt++;
+			handle->busy_count++;
+		}
 	}
 
 	r->refcnt = 1;