[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, >t_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, >t_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