[PATCH i-g-t V3] tests/amdgpu: fix VM test issue
Jesse Zhang
jesse.zhang at amd.com
Mon Dec 18 02:53:07 UTC 2023
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>
---
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);
--
2.25.1
More information about the igt-dev
mailing list