Browse Source

port r11466 from 1.1: Even without allocation cache, data release is done lazily, we can not count on precision of value returned by starpu_memory_get_available

Samuel Thibault 11 years ago
parent
commit
bb88fe0e68
2 changed files with 3 additions and 5 deletions
  1. 2 2
      src/datawizard/malloc.c
  2. 1 3
      tests/datawizard/allocate.c

+ 2 - 2
src/datawizard/malloc.c

@@ -91,7 +91,7 @@ int starpu_malloc_flags(void **A, size_t dim, int flags)
 
 
 	if (flags & STARPU_MALLOC_COUNT)
 	if (flags & STARPU_MALLOC_COUNT)
 	{
 	{
-		if (_starpu_memory_manager_can_allocate_size(dim, 0) == 0)
+		if (_starpu_memory_manager_can_allocate_size(dim, STARPU_MAIN_RAM) == 0)
 		{
 		{
 			size_t freed;
 			size_t freed;
 			size_t reclaim = 2 * dim;
 			size_t reclaim = 2 * dim;
@@ -344,7 +344,7 @@ int starpu_free_flags(void *A, size_t dim, int flags)
 out:
 out:
 	if (flags & STARPU_MALLOC_COUNT)
 	if (flags & STARPU_MALLOC_COUNT)
 	{
 	{
-		_starpu_memory_manager_deallocate_size(dim, 0);
+		_starpu_memory_manager_deallocate_size(dim, STARPU_MAIN_RAM);
 	}
 	}
 
 
 	return 0;
 	return 0;

+ 1 - 3
tests/datawizard/allocate.c

@@ -114,9 +114,7 @@ int test_prefetch(unsigned memnodes)
 	{
 	{
 		available_size = starpu_memory_get_available(i);
 		available_size = starpu_memory_get_available(i);
 		FPRINTF(stderr, "Available memory size on node %u: %ld\n", i, available_size);
 		FPRINTF(stderr, "Available memory size on node %u: %ld\n", i, available_size);
-#ifndef STARPU_USE_ALLOCATION_CACHE
-		STARPU_CHECK_RETURN_VALUE_IS((int)available_size, SIZE_ALLOC*1024*1024, "starpu_memory_get_available (node %u)", i);
-#endif
+		/* STARPU_CHECK_RETURN_VALUE_IS((int)available_size, SIZE_ALLOC*1024*1024, "starpu_memory_get_available (node %u)", i); */
 	}
 	}
 
 
 	return 0;
 	return 0;