[PATCH i-g-t] tests/intel/oa: Check exec_queue is usable after closing OA stream
Dixit, Ashutosh
ashutosh.dixit at intel.com
Tue Oct 22 20:45:26 UTC 2024
On Mon, 14 Oct 2024 07:19:13 -0700, Kamil Konieczny wrote:
>
> 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
Sure. Will change in all pending patches.
>
> > 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....
Probably not, latest version has a 16 loop.
>
> > 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?
Probably not worth it either. Anyway we need to bottom out on the kernel/HW
issue first, so unlikely that this will get merged till that happens.
Thanks.
--
Ashutosh
>
> > + 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