Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/2] fix prefetch/atomic-attribute flow and use internal DONTNEED skip flag
@ 2026-08-19 14:52 nishit.sharma
  2026-08-19 14:53 ` [PATCH v1 1/2] tests/intel/xe_exec_system_allocator: fix prefetch-change-attr flow nishit.sharma
  2026-08-19 14:53 ` [PATCH v1 2/2] tests/intel/xe_exec_system_allocator: use correct DONTNEED test flag nishit.sharma
  0 siblings, 2 replies; 5+ messages in thread
From: nishit.sharma @ 2026-08-19 14:52 UTC (permalink / raw)
  To: igt-dev, kamil.konieczny

From: Nishit Sharma <nishit.sharma@intel.com>

This fix corrects the prefetch/atomic-attribute transition path and uses
the intended internal test flag for the skip condition, removing dead
execution paths and improving reliability of the affected system-allocator
IGT coverage across platforms.

Nishit Sharma (2):
  tests/intel/xe_exec_system_allocator: fix prefetch-change-attr flow
  tests/intel/xe_exec_system_allocator: use correct DONTNEED test flag

 tests/intel/xe_exec_system_allocator.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v1 1/2] tests/intel/xe_exec_system_allocator: fix prefetch-change-attr flow
  2026-08-19 14:52 [PATCH v1 0/2] fix prefetch/atomic-attribute flow and use internal DONTNEED skip flag nishit.sharma
@ 2026-08-19 14:53 ` nishit.sharma
  2026-08-19 16:29   ` Kamil Konieczny
  2026-08-19 14:53 ` [PATCH v1 2/2] tests/intel/xe_exec_system_allocator: use correct DONTNEED test flag nishit.sharma
  1 sibling, 1 reply; 5+ messages in thread
From: nishit.sharma @ 2026-08-19 14:53 UTC (permalink / raw)
  To: igt-dev, kamil.konieczny

From: Nishit Sharma <nishit.sharma@intel.com>

These changes fixes the prefetch-change-attr test flow so the intended
prefetch and atomic-attribute transition execute in the correct path.

Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
 tests/intel/xe_exec_system_allocator.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tests/intel/xe_exec_system_allocator.c b/tests/intel/xe_exec_system_allocator.c
index 6ca53aa5f..476470be7 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);
 	}
 }
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v1 2/2] tests/intel/xe_exec_system_allocator: use correct DONTNEED test flag
  2026-08-19 14:52 [PATCH v1 0/2] fix prefetch/atomic-attribute flow and use internal DONTNEED skip flag nishit.sharma
  2026-08-19 14:53 ` [PATCH v1 1/2] tests/intel/xe_exec_system_allocator: fix prefetch-change-attr flow nishit.sharma
@ 2026-08-19 14:53 ` nishit.sharma
  2026-08-19 16:03   ` Kamil Konieczny
  1 sibling, 1 reply; 5+ messages in thread
From: nishit.sharma @ 2026-08-19 14:53 UTC (permalink / raw)
  To: igt-dev, kamil.konieczny

From: Nishit Sharma <nishit.sharma@intel.com>

Test now using correct flag (USE_MADV_DONTNEED) instead of the libc
MADV_DONTNEED constant. Both USE_MADV_DONTNEED and MADV_DONTNEED have
value 4 and went unnoticable.

Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
 tests/intel/xe_exec_system_allocator.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/intel/xe_exec_system_allocator.c b/tests/intel/xe_exec_system_allocator.c
index 476470be7..305512dfd 100644
--- a/tests/intel/xe_exec_system_allocator.c
+++ b/tests/intel/xe_exec_system_allocator.c
@@ -2337,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


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v1 2/2] tests/intel/xe_exec_system_allocator: use correct DONTNEED test flag
  2026-08-19 14:53 ` [PATCH v1 2/2] tests/intel/xe_exec_system_allocator: use correct DONTNEED test flag nishit.sharma
@ 2026-08-19 16:03   ` Kamil Konieczny
  0 siblings, 0 replies; 5+ messages in thread
From: Kamil Konieczny @ 2026-08-19 16:03 UTC (permalink / raw)
  To: nishit.sharma; +Cc: igt-dev, kamil.konieczny

Hi Nishit,
On 2026-08-19 at 14:53:01 +0000, nishit.sharma@intel.com wrote:
> From: Nishit Sharma <nishit.sharma@intel.com>
> 
> Test now using correct flag (USE_MADV_DONTNEED) instead of the libc
> MADV_DONTNEED constant. Both USE_MADV_DONTNEED and MADV_DONTNEED have
> value 4 and went unnoticable.
> 
> Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
> ---
>  tests/intel/xe_exec_system_allocator.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tests/intel/xe_exec_system_allocator.c b/tests/intel/xe_exec_system_allocator.c
> index 476470be7..305512dfd 100644
> --- a/tests/intel/xe_exec_system_allocator.c
> +++ b/tests/intel/xe_exec_system_allocator.c
> @@ -2337,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);

Good catch, maybe flags should have TEST_FLAG_ prefix?
LGTM
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

Regards,
Kamil

>  	env.vm = vm;
>  
>  	read_gt_stats_snapshot(fd, eci, &stats_before);
> -- 
> 2.43.0
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v1 1/2] tests/intel/xe_exec_system_allocator: fix prefetch-change-attr flow
  2026-08-19 14:53 ` [PATCH v1 1/2] tests/intel/xe_exec_system_allocator: fix prefetch-change-attr flow nishit.sharma
@ 2026-08-19 16:29   ` Kamil Konieczny
  0 siblings, 0 replies; 5+ messages in thread
From: Kamil Konieczny @ 2026-08-19 16:29 UTC (permalink / raw)
  To: nishit.sharma; +Cc: igt-dev, kamil.konieczny

Hi nishit.sharma,
On 2026-08-19 at 14:53:00 +0000, nishit.sharma@intel.com wrote:
> From: Nishit Sharma <nishit.sharma@intel.com>
> 
> These changes fixes the prefetch-change-attr test flow so the intended
> prefetch and atomic-attribute transition execute in the correct path.

You should also write about memory leak fixed. Now it looks like
another candidate for a split but as they are located near each other,
let this be in one patch.

> 
> Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>

LGTM
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

Regards,
Kamil

> ---
>  tests/intel/xe_exec_system_allocator.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/intel/xe_exec_system_allocator.c b/tests/intel/xe_exec_system_allocator.c
> index 6ca53aa5f..476470be7 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);
>  	}
>  }
> -- 
> 2.43.0
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-08-19 16:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-19 14:52 [PATCH v1 0/2] fix prefetch/atomic-attribute flow and use internal DONTNEED skip flag nishit.sharma
2026-08-19 14:53 ` [PATCH v1 1/2] tests/intel/xe_exec_system_allocator: fix prefetch-change-attr flow nishit.sharma
2026-08-19 16:29   ` Kamil Konieczny
2026-08-19 14:53 ` [PATCH v1 2/2] tests/intel/xe_exec_system_allocator: use correct DONTNEED test flag nishit.sharma
2026-08-19 16:03   ` Kamil Konieczny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox