[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