[PATCH i-g-t] tests/intel/xe_exec_reset: Skip syncobj_wait during the gt_reset
Bommu, Krishnaiah
krishnaiah.bommu at intel.com
Mon Sep 30 10:18:49 UTC 2024
> -----Original Message-----
> From: Auld, Matthew <matthew.auld at intel.com>
> Sent: Friday, September 27, 2024 3:52 PM
> To: Bernatowicz, Marcin <marcin.bernatowicz at linux.intel.com>; Bommu,
> Krishnaiah <krishnaiah.bommu at intel.com>; igt-dev at lists.freedesktop.org
> Cc: Summers, Stuart <stuart.summers at intel.com>; Brost, Matthew
> <matthew.brost at intel.com>
> Subject: Re: [PATCH i-g-t] tests/intel/xe_exec_reset: Skip syncobj_wait during
> the gt_reset
>
> On 27/09/2024 11:05, Bernatowicz, Marcin wrote:
> >
> >
> > On 9/25/2024 12:31 PM, Bommu Krishnaiah wrote:
> >> From: "Bommu Krishnaiah" <krishnaiah.bommu at intel.com>
> >>
> >> Skipping the syncobj_wait for the workloads which is submitted before
> >> gt reset, since After gt reset There is no expectation from the
> >> hardware/GuC/KMD that the workload will then re-execute and complete.
> >>
> >> Signed-off-by: Bommu Krishnaiah <krishnaiah.bommu at intel.com>
> >> Cc: Stuart Summers <stuart.summers at intel.com>
> >> ---
> >> tests/intel/xe_exec_reset.c | 8 +++++---
> >> 1 file changed, 5 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/tests/intel/xe_exec_reset.c
> >> b/tests/intel/xe_exec_reset.c index b5d5f43ea..b1a7548c6 100644
> >> --- a/tests/intel/xe_exec_reset.c
> >> +++ b/tests/intel/xe_exec_reset.c
> >> @@ -263,8 +263,9 @@ test_balancer(int fd, int gt, int class, int
> >> n_exec_queues, int n_execs,
> >> }
> >> for (i = 0; i < n_exec_queues && n_execs; i++)
> >> - igt_assert(syncobj_wait(fd, &syncobjs[i], 1, INT64_MAX, 0,
> >> - NULL));
> >> + if (!(flags & GT_RESET))
> >> + igt_assert(syncobj_wait(fd, &syncobjs[i], 1, INT64_MAX,
> >
> > What happens when the user waits on syncobj in case of GT reset ?
> > Maybe there is no expectation that there will be re-execute, but
> > shouldn't the syncobj be notified or a timeout hit ?
>
> Yeah, this sounds like KMD bug. Expectation is that dma fences should
> eventually signal no matter what, and in a reasonable amount of time.
>
> Possibly relevant fix (very recently merged):
> https://patchwork.freedesktop.org/patch/605681/?series=136463&rev=1
I verified with this(https://patchwork.freedesktop.org/patch/605681/?series=136463&rev=1) patch, still I see the failure with this patch also.
Regards,
Krishna.
>
> >
> >> + 0, NULL));
> >> igt_assert(syncobj_wait(fd, &sync[0].handle, 1, INT64_MAX, 0,
> >> NULL));
> >> sync[0].flags |= DRM_XE_SYNC_FLAG_SIGNAL; @@ -410,7 +411,8 @@
> >> test_legacy_mode(int fd, struct drm_xe_engine_class_instance *eci,
> >> }
> >> for (i = 0; i < n_exec_queues && n_execs; i++)
> >> - igt_assert(syncobj_wait(fd, &syncobjs[i], 1, INT64_MAX, 0,
> >> + if (!(flags & GT_RESET))
> >> + igt_assert(syncobj_wait(fd, &syncobjs[i], 1, INT64_MAX,
> >> +0,
> >> NULL));
> >> igt_assert(syncobj_wait(fd, &sync[0].handle, 1, INT64_MAX, 0,
> >> NULL));
> >
More information about the igt-dev
mailing list