[PATCH i-g-t] tests/intel/oa: Check exec_queue is usable after closing OA stream

Kamil Konieczny kamil.konieczny at linux.intel.com
Mon Oct 14 14:19:13 UTC 2024


Hi Ashutosh,
On 2024-09-20 at 17:45:06 -0700, Ashutosh Dixit wrote:

please fix subject:

tests/intel/oa: Check exec_queue is usable after closing OA stream

should be:

tests/intel/xe_oa: Check exec_queue is usable after closing OA stream

> Add a test case to verify that batch buffers submitted on an exec_queue,
  ^^^^^^^^^^^^^^^
imho here:
Add repeated verification for ...
or:
Repeat twice a verification for usablility of batch buffers....

> after closing the OA stream, do indeed complete. This test is in related to
> https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2821 where this was
> first noticed.
> 
> Signed-off-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
> ---
>  tests/intel/xe_oa.c | 23 ++++++++++++++++++++++-
>  1 file changed, 22 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
> index 506646789c..eb19fdec97 100644
> --- a/tests/intel/xe_oa.c
> +++ b/tests/intel/xe_oa.c
> @@ -3018,13 +3018,34 @@ test_mi_rpc(struct drm_xe_engine_class_instance *hwe)
>  	igt_assert_neq(report32[format.b_off >> 2], 0x80808080);
>  	igt_assert_eq(report32[format_size_32], 0x80808080);
>  
> +	intel_buf_unmap(buf);
> +	__perf_close(stream_fd);
> +
> +	/*
> +	 * Re-do MI_RPC after closing perf stream, and check batch buffers
> +	 * submitted on exec_queue still complete
> +	 */

Instead of copy-paste, wouldn't it be better to write a function
and call it twice here?

Regards,
Kamil

> +	buf_map(drm_fd, buf, true);
> +	memset(buf->ptr, 0x80, 4096);
> +	intel_buf_unmap(buf);
> +
> +	intel_bb_flush_render(ibb);
> +	intel_bb_sync(ibb);
> +
> +	buf_map(drm_fd, buf, false);
> +	report32 = buf->ptr;
> +	format_size_32 = format.size >> 2;
> +	dump_report(report32, format_size_32, "mi-rpc");
> +
> +	igt_assert_eq(report32[0], 0x80808080);
> +	igt_assert_eq(oa_timestamp(report32, test_set->perf_oa_format), 0x80808080);
> +
>  	intel_buf_unmap(buf);
>  	intel_buf_destroy(buf);
>  	intel_bb_destroy(ibb);
>  	xe_exec_queue_destroy(drm_fd, ctx_id);
>  	xe_vm_destroy(drm_fd, vm);
>  	buf_ops_destroy(bops);
> -	__perf_close(stream_fd);
>  }
>  
>  static void
> -- 
> 2.41.0
> 


More information about the igt-dev mailing list