tests/amdgpu: fix bo eviction test issue
On Raven2/Picasso, the default VRAM size is 2048M, and the default GTT size is 3072M. If max_allocation of VRAM exceeds half of GTT size, GTT memory can't hold evicted bo from VRAM and bo in itself at the same time. Then amdgpu_cs_list_validate will failed with "Not enough memory for command submission" error. NOTE: The installed DRAM should be larger than 8GB, if the VRAM size is 2048M. Signed-off-by: Lang Yu <Lang.Yu@amd.com> Signed-off-by: Marek Olšák <marek.olsak@amd.com>main
parent
af871ec1a6
commit
a5a400c958
|
@ -496,9 +496,6 @@ static void amdgpu_disable_suites()
|
|||
"gfx ring slow bad draw test (set amdgpu.lockup_timeout=50)", CU_FALSE))
|
||||
fprintf(stderr, "test deactivation failed - %s\n", CU_get_error_msg());
|
||||
|
||||
if (amdgpu_set_test_active(BASIC_TESTS_STR, "bo eviction Test", CU_FALSE))
|
||||
fprintf(stderr, "test deactivation failed - %s\n", CU_get_error_msg());
|
||||
|
||||
/* This test was ran on GFX8 and GFX9 only */
|
||||
if (family_id < AMDGPU_FAMILY_VI || family_id > AMDGPU_FAMILY_RV)
|
||||
if (amdgpu_set_test_active(BASIC_TESTS_STR, "Sync dependency Test", CU_FALSE))
|
||||
|
|
|
@ -923,6 +923,15 @@ static void amdgpu_bo_eviction_test(void)
|
|||
0, &vram_info);
|
||||
CU_ASSERT_EQUAL(r, 0);
|
||||
|
||||
r = amdgpu_query_heap_info(device_handle, AMDGPU_GEM_DOMAIN_GTT,
|
||||
0, >t_info);
|
||||
CU_ASSERT_EQUAL(r, 0);
|
||||
|
||||
if (vram_info.max_allocation > gtt_info.heap_size/3) {
|
||||
vram_info.max_allocation = gtt_info.heap_size/3;
|
||||
gtt_info.max_allocation = vram_info.max_allocation;
|
||||
}
|
||||
|
||||
r = amdgpu_bo_alloc_wrap(device_handle, vram_info.max_allocation, 4096,
|
||||
AMDGPU_GEM_DOMAIN_VRAM, 0, &vram_max[0]);
|
||||
CU_ASSERT_EQUAL(r, 0);
|
||||
|
@ -930,10 +939,6 @@ static void amdgpu_bo_eviction_test(void)
|
|||
AMDGPU_GEM_DOMAIN_VRAM, 0, &vram_max[1]);
|
||||
CU_ASSERT_EQUAL(r, 0);
|
||||
|
||||
r = amdgpu_query_heap_info(device_handle, AMDGPU_GEM_DOMAIN_GTT,
|
||||
0, >t_info);
|
||||
CU_ASSERT_EQUAL(r, 0);
|
||||
|
||||
r = amdgpu_bo_alloc_wrap(device_handle, gtt_info.max_allocation, 4096,
|
||||
AMDGPU_GEM_DOMAIN_GTT, 0, >t_max[0]);
|
||||
CU_ASSERT_EQUAL(r, 0);
|
||||
|
|
Loading…
Reference in New Issue