RE: [PATCH i-g-t] tests/intel/xe_exec_threads: ignore expected hang timeout

"Girotra, Himanshu" <[email protected]> Thu, 23 Jul 2026 14:41:28 +0000
Newsgroups org.freedesktop.lists.igt-dev
Message-ID <CH0PR11MB556412533FD9663DA67D1C7B98C02@CH0PR11MB5564.namprd11.prod.outlook.com>

> -----Original Message-----
> From: Kamil Konieczny <[email protected]>
> Sent: 23 July 2026 19:56
> To: Girotra, Himanshu <[email protected]>
> Cc: [email protected]; Gandi, Ramadevi
> <[email protected]>; Dandamudi, Priyanka
> <[email protected]>; Konieczny, Kamil
> <[email protected]>
> Subject: Re: [PATCH i-g-t] tests/intel/xe_exec_threads: ignore expected hang
> timeout
> 
Hi Kamil,

> Hi Himanshu,
> On 2026-07-23 at 08:02:51 +0530, [email protected] wrote:
> > From: Himanshu Girotra <[email protected]>
> >
> > The hang subtests hang a queue and reset to recover. Jobs that were
> > queued but never started are logged by the KMD at warn level as "Check
> > job timeout: ... not started".
> >
> > This warn is expected, but CI flags warn-level dmesg lines and fails
> > the subtest even though it passes. Whitelist it for the hang subtests.
> 
> s/Whitelist/Ignore/
> 
> >
> > v2: Rework description and comment to be generic (Priyanka,Kamil)
> >
> > Signed-off-by: Himanshu Girotra <[email protected]>
> > ---
> >  tests/intel/xe_exec_threads.c | 13 +++++++++++++
> >  1 file changed, 13 insertions(+)
> >
> > diff --git a/tests/intel/xe_exec_threads.c
> > b/tests/intel/xe_exec_threads.c index 0480df779..2974fc312 100644
> > --- a/tests/intel/xe_exec_threads.c
> > +++ b/tests/intel/xe_exec_threads.c
> > @@ -1468,6 +1468,16 @@ static void threads(int fd, int flags)
> >  	pthread_barrier_destroy(&barrier);
> >  }
> >
> > +/*
> > + * Hang subtests reset the GPU to recover, so jobs that never started
> > +are
> > + * logged as "Check job timeout: ... not started". This warn is
> > +expected;
> > + * whitelist it to avoid spurious dmesg-warn failures in CI.
> 
> s/whitelist/ignore/
> 

will change whitelist to ignore
> > + */
> > +static void ignore_multi_queue_hang_warnings_in_dmesg(void)
> > +{
> > +	igt_emit_ignore_dmesg_regex("Check job timeout: .*not started"); }
> > +
> >  int igt_main()
> >  {
> >  	const struct section {
> > @@ -1735,6 +1745,9 @@ int igt_main()
> >  				igt_assert(!(s->flags & BALANCER));
> >  			}
> >
> > +			if ((s->flags & MULTI_QUEUE) && (s->flags & HANG))
> 
> Why not simpler:
> 			if (s->flags & (MULTI_QUEUE | HANG))

The regex we're suppressing is only seen on multi-queue hang subtests, whereas s->flags & (MULTI_QUEUE | HANG) is an OR — it would set it up for every multi-queue subtest and every hang subtest. We need both flags together, hence &&.
> 
> 
> 
> Regards,
> Kamil
> 
> > +
> 	ignore_multi_queue_hang_warnings_in_dmesg();
> > +
> >  			threads(fd, s->flags);
> >  		}
> >  	}
> > --
> > 2.50.1
> >