ソースを参照

Fix using optional get_alloc_size method

Samuel Thibault 6 年 前
コミット
c941fc4979
共有2 個のファイルを変更した5 個の追加2 個の削除を含む
  1. 4 1
      src/datawizard/interfaces/data_interface.c
  2. 1 1
      src/datawizard/memalloc.c

+ 4 - 1
src/datawizard/interfaces/data_interface.c

@@ -1108,7 +1108,10 @@ size_t starpu_data_get_size(starpu_data_handle_t handle)
 
 size_t starpu_data_get_alloc_size(starpu_data_handle_t handle)
 {
-	return handle->ops->get_alloc_size(handle);
+	if (handle->ops->get_alloc_size)
+		return handle->ops->get_alloc_size(handle);
+	else
+		return handle->ops->get_size(handle);
 }
 
 void starpu_data_set_name(starpu_data_handle_t handle STARPU_ATTRIBUTE_UNUSED, const char *name STARPU_ATTRIBUTE_UNUSED)

+ 1 - 1
src/datawizard/memalloc.c

@@ -1433,7 +1433,7 @@ static starpu_ssize_t _starpu_allocate_interface(starpu_data_handle_t handle, st
 
 		if (allocated_memory == -ENOMEM)
 		{
-			size_t handle_size = handle->ops->get_alloc_size(handle);
+			size_t handle_size = _starpu_data_get_alloc_size(handle);
 			size_t reclaim = starpu_memstrategy_data_size_coefficient*handle_size;
 
 			/* First try to flush data explicitly marked for freeing */