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

vitaly prosyak vprosyak at amd.com
Wed Mar 27 03:29:58 UTC 2024


Thanks a lot, Kamil, for merging this change and making the appropriate necessary corrections!

Regards, Vitaly

On 2024-03-26 07:19, Kamil Konieczny wrote:
> 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