[PATCH i-g-t V3] tests/amd_basic:fix eviction test failure

Kamil Konieczny kamil.konieczny at linux.intel.com
Tue Mar 26 11:19:02 UTC 2024


Hi Jesse,
On 2024-03-26 at 10:34:40 +0800, Jesse Zhang wrote:

small nit to subject, please add space after ':', see

[PATCH i-g-t V3] tests/amd_basic:fix eviction test failure
--------------------------------^

This should be

tests/amd_basic: fix eviction test failure

Btw this can be done during merge.

Regards,
Kamil

> Test case name:igt at amdgpu/amd_basic at eviction-test-with-ip-dma@eviction_test
> Fail error: "Starting subtest: eviction-test-with-IP-DMA
> Starting dynamic subtest: eviction_test
> (amd_basic:9425) amdgpu/amd_command_submission-CRITICAL: Test assertion failure function amdgpu_test_exec_cs_helper, file ../lib/amdgpu/amd_command_submission.c:77:
> (amd_basic:9425) amdgpu/amd_command_submission-CRITICAL: Failed assertion: r == 0
> (amd_basic:9425) amdgpu/amd_command_submission-CRITICAL: Last errno: 12, Cannot allocate memory
> (amd_basic:9425) amdgpu/amd_command_submission-CRITICAL: error: -12 != 0
> Dynamic subtest eviction_test failed.
> 
> There is a case where the system size and gtt memory are smaller.
> When evicting vram to gtt or system memory, there is not enough gtt or memory system memory available for allocation.
> Therefore, try to reduce the use of gtt during initialization to meet the requirements for evicting vram.
> 
> V3: Provided an example in the code of exactly the numeric number (Vitaly)
>     Remove the space and empty line (Kamil)
> 
> Cc: Vitaly Prosyak <vitaly.prosyak at amd.com>
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Cc: Christian Koenig <christian.koenig at amd.com>
> Cc: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> Signed-off-by: Jesse Zhang <Jesse.Zhang at amd.com>
> ---
>  tests/amdgpu/amd_basic.c | 18 ++++++++++++++----
>  1 file changed, 14 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/amdgpu/amd_basic.c b/tests/amdgpu/amd_basic.c
> index 70e45649d..8819b9cd4 100644
> --- a/tests/amdgpu/amd_basic.c
> +++ b/tests/amdgpu/amd_basic.c
> @@ -358,6 +358,20 @@ amdgpu_bo_eviction_test(amdgpu_device_handle device_handle)
>  				   0, &vram_info);
>  	igt_assert_eq(r, 0);
>  
> +	r = amdgpu_query_heap_info(device_handle, AMDGPU_GEM_DOMAIN_GTT,
> +				   0, &gtt_info);
> +	igt_assert_eq(r, 0);
> +
> +	/* For smaller gtt memory sizes, reduce gtt usage on initialization
> +	 * to satisfy eviction vram requirements. Example:
> +	 * gtt_info.heap_size 3036569600, gtt_info.max_allocation 2114244608  gtt_info.heap_usage 12845056
> +	 * gtt_info.heap_size 2895 mb, gtt_info.max_allocation 2016 mb gtt_info.heap_usage 12 mb
> +	 * vram_info.heap_size 2114244608, vram_info.max_allocation 2114244608 vram_info.heap_usage 26951680
> +	 * vram_info.heap_size 2016 mb, vram_info.max_allocation 2016 mb vram_info.heap_usage 25 mb
> +	 */
> +	if (gtt_info.heap_size - gtt_info.max_allocation < vram_info.max_allocation)
> +		gtt_info.max_allocation /=3;
> +
>  	r = amdgpu_bo_alloc_wrap(device_handle, vram_info.max_allocation, 4096,
>  				 AMDGPU_GEM_DOMAIN_VRAM, 0, &ring_context->boa_vram[0]);
>  	igt_assert_eq(r, 0);
> @@ -365,10 +379,6 @@ amdgpu_bo_eviction_test(amdgpu_device_handle device_handle)
>  				 AMDGPU_GEM_DOMAIN_VRAM, 0, &ring_context->boa_vram[1]);
>  	igt_assert_eq(r, 0);
>  
> -	r = amdgpu_query_heap_info(device_handle, AMDGPU_GEM_DOMAIN_GTT,
> -				   0, &gtt_info);
> -	igt_assert_eq(r, 0);
> -
>  	r = amdgpu_bo_alloc_wrap(device_handle, gtt_info.max_allocation, 4096,
>  				 AMDGPU_GEM_DOMAIN_GTT, 0, &ring_context->boa_gtt[0]);
>  	igt_assert_eq(r, 0);
> -- 
> 2.25.1
> 


More information about the igt-dev mailing list