浏览代码

Fix acquisition of data on node -1, re-enable using it in data_invalidate

Samuel Thibault 11 年之前
父节点
当前提交
24f00257b5
共有 2 个文件被更改,包括 5 次插入3 次删除
  1. 3 3
      src/datawizard/interfaces/data_interface.c
  2. 2 0
      src/datawizard/user_interactions.c

+ 3 - 3
src/datawizard/interfaces/data_interface.c

@@ -820,14 +820,14 @@ static void _starpu_data_invalidate(void *data)
 
 
 	_starpu_spin_unlock(&handle->header_lock);
 	_starpu_spin_unlock(&handle->header_lock);
 
 
-	starpu_data_release_on_node(handle, 0);
+	starpu_data_release_on_node(handle, -1);
 }
 }
 
 
 void starpu_data_invalidate(starpu_data_handle_t handle)
 void starpu_data_invalidate(starpu_data_handle_t handle)
 {
 {
 	STARPU_ASSERT(handle);
 	STARPU_ASSERT(handle);
 
 
-	starpu_data_acquire_on_node(handle, 0, STARPU_W);
+	starpu_data_acquire_on_node(handle, -1, STARPU_W);
 
 
 	_starpu_data_invalidate(handle);
 	_starpu_data_invalidate(handle);
 }
 }
@@ -836,7 +836,7 @@ void starpu_data_invalidate_submit(starpu_data_handle_t handle)
 {
 {
 	STARPU_ASSERT(handle);
 	STARPU_ASSERT(handle);
 
 
-	starpu_data_acquire_on_node_cb(handle, 0, STARPU_W, _starpu_data_invalidate, handle);
+	starpu_data_acquire_on_node_cb(handle, -1, STARPU_W, _starpu_data_invalidate, handle);
 }
 }
 
 
 enum starpu_data_interface_id starpu_data_get_interface_id(starpu_data_handle_t handle)
 enum starpu_data_interface_id starpu_data_get_interface_id(starpu_data_handle_t handle)

+ 2 - 0
src/datawizard/user_interactions.c

@@ -100,6 +100,8 @@ static void _starpu_data_acquire_continuation_non_blocking(void *arg)
 						 _starpu_data_acquire_fetch_data_callback, wrapper);
 						 _starpu_data_acquire_fetch_data_callback, wrapper);
 		STARPU_ASSERT(!ret);
 		STARPU_ASSERT(!ret);
 	}
 	}
+	else
+		_starpu_data_acquire_fetch_data_callback(wrapper);
 }
 }
 
 
 static void starpu_data_acquire_cb_pre_sync_callback(void *arg)
 static void starpu_data_acquire_cb_pre_sync_callback(void *arg)