[PATCH i-g-t V3] tests/amdgpu: fix VM test issue
Christian König
christian.koenig at amd.com
Mon Dec 18 11:32:09 UTC 2023
Am 18.12.23 um 03:53 schrieb Jesse Zhang:
> Test case name:igt at amdgpu/amd_vm at amdgpu-vm-unaligned-map
> Fail error: "Starting subtest: amdgpu-vm-unaligned-map
> (amd_vm:8876) CRITICAL: Test assertion failure function amdgpu_vm_unaligned_map, file ../tests/amdgpu/amd_vm.c:131:
> (amd_vm:8876) CRITICAL: Failed assertion: r == 0
> (amd_vm:8876) CRITICAL: Last errno: 12, Cannot allocate memory
> (amd_vm:8876) CRITICAL: error: -12 != 0
> Subtest amdgpu-vm-unaligned-map failed.
>
> V3:
> - Split the test into two, one for the 2M (using 8M allocations)
> case and one for the 1G case (using 4G allocation). (Christian)
>
> 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>
Vitaly is currently on vacation, but in general that looks good to me.
Acked-by: Christian König <christian.koenig at amd.com>
> ---
> tests/amdgpu/amd_vm.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/tests/amdgpu/amd_vm.c b/tests/amdgpu/amd_vm.c
> index 11be25ae8..dab91f291 100644
> --- a/tests/amdgpu/amd_vm.c
> +++ b/tests/amdgpu/amd_vm.c
> @@ -115,11 +115,11 @@ amdgpu_vmid_reserve_test(amdgpu_device_handle device_handle,
> static void
> amdgpu_vm_unaligned_map(amdgpu_device_handle device_handle)
> {
> - const uint64_t map_size = (4ULL << 30) - (2 << 12);
> + uint64_t map_size = (4ULL << 30) - (2 << 12);
> struct amdgpu_bo_alloc_request request = {};
> amdgpu_bo_handle buf_handle;
> amdgpu_va_handle handle;
> - uint64_t vmc_addr;
> + uint64_t vmc_addr, alignment = 1ULL << 30;
> int r;
>
> request.alloc_size = 4ULL << 30;
> @@ -127,11 +127,18 @@ amdgpu_vm_unaligned_map(amdgpu_device_handle device_handle)
> request.preferred_heap = AMDGPU_GEM_DOMAIN_VRAM;
> request.flags = AMDGPU_GEM_CREATE_NO_CPU_ACCESS;
>
> - r = amdgpu_bo_alloc(device_handle, &request, &buf_handle);
> + if (-ENOMEM == amdgpu_bo_alloc(device_handle, &request, &buf_handle)) {
> + /* Try allocate on the device of small memory */
> + request.alloc_size = 8ULL << 20;
> + map_size = (8ULL << 20) - (2 << 12);
> + alignment = 2ULL << 20;
> + r = amdgpu_bo_alloc(device_handle, &request, &buf_handle);
> + }
> +
> igt_assert_eq(r, 0);
>
> r = amdgpu_va_range_alloc(device_handle, amdgpu_gpu_va_range_general,
> - 4ULL << 30, 1ULL << 30, 0, &vmc_addr,
> + request.alloc_size, alignment, 0, &vmc_addr,
> &handle, 0);
> igt_assert_eq(r, 0);
>
More information about the igt-dev
mailing list