From: Nishit Sharma <[email protected]>
These changes fixes the prefetch-change-attr test flow so the intended
prefetch and atomic-attribute transition execute in the correct path,
and it also switches the skip-results condition to use the proper internal
test flag (USE_MADV_DONTNEED) instead of the libc MADV_DONTNEED constant.
Together, these updates remove dead-path behavior, make the intent explicit
and improve reliability of the affected system-allocator IGT coverage
across platforms.
Signed-off-by: Nishit Sharma <[email protected]>
---
tests/intel/xe_exec_system_allocator.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/tests/intel/xe_exec_system_allocator.c b/tests/intel/xe_exec_system_allocator.c
index 6ca53aa5f..305512dfd 100644
--- a/tests/intel/xe_exec_system_allocator.c
+++ b/tests/intel/xe_exec_system_allocator.c
@@ -1395,6 +1395,9 @@ madvise_prefetch_op(int fd, uint32_t vm, uint64_t addr, size_t bo_size,
xe_vm_madvise_migrate_pages(fd, vm, to_user_pointer(data), bo_size / 2);
+ /* free 1st allocation in mem_attrs */
+ free(mem_attrs);
+
mem_attrs = xe_vm_get_mem_attr_values_in_range(fd, vm, addr, bo_size, &num_ranges);
if (!mem_attrs) {
igt_info("Failed to get memory attributes\n");
@@ -1426,13 +1429,14 @@ madvise_prefetch_op(int fd, uint32_t vm, uint64_t addr, size_t bo_size,
if (!mem_attrs) {
igt_info("Failed to get memory attributes\n");
return;
+ }
xe_vm_prefetch_async(fd, vm, 0, 0, addr, bo_size, NULL, 0,
DRM_XE_CONSULT_MEM_ADVISE_PREF_LOC);
xe_vm_madvise_atomic_attr(fd, vm, to_user_pointer(data), bo_size,
DRM_XE_ATOMIC_DEVICE);
- }
+
free(mem_attrs);
}
}
@@ -2333,7 +2337,7 @@ test_compute(int fd, struct drm_xe_engine_class_instance *eci, size_t size,
xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE, 0, FIVE_SEC);
env.loop_count = (flags & TOUCH_ONCE) ? 1 : env.array_size;
- env.skip_results_check = !(flags & ACCESS_DEVICE_HOST) || (flags & MADV_DONTNEED);
+ env.skip_results_check = !(flags & ACCESS_DEVICE_HOST) || (flags & USE_MADV_DONTNEED);
env.vm = vm;
read_gt_stats_snapshot(fd, eci, &stats_before);
--
2.43.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.