Re: [PATCH] tests/intel/xe_exec_system_allocator: fix prefetch-change-attr and DONTNEED flag handling
Kamil Konieczny <[email protected]>
| Newsgroups | org.freedesktop.lists.igt-dev |
|---|---|
| Message-ID | <[email protected]> |
Hi Nishit, On 2026-08-18 at 14:29:56 +0000, [email protected] wrote: > 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]> These two fixes seems unrelated, please split them into two separate patches. Also, can you find any work items on GitLab which they resolves? If yes, please add Closes: tags. Regards, Kamil > --- > 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 >