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

Kamil Konieczny <[email protected]> Thu, 23 Jul 2026 16:51:09 +0200
Newsgroups org.freedesktop.lists.igt-dev
Message-ID <[email protected]>
Hi Girotra,,
On 2026-07-23 at 14:41:28 +0000, Girotra, Himanshu wrote:
> 
> 
> > -----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 &&.


You are right, mine check is not equvalent, it should be:

	if ((s->flags & (MULTI_QUEUE | HANG)) == (MULTI_QUEUE | HANG))

and looks longer than yours. So with those s/whitelist/ignore/
fixes in commit message and in comment, this is

Reviewed-by: Kamil Konieczny <[email protected]>

Btw these could be fixed at merge time, no need for
sending new version.

Regards,
Kamil

> > 
> > 
> > 
> > Regards,
> > Kamil
> > 
> > > +
> > 	ignore_multi_queue_hang_warnings_in_dmesg();
> > > +
> > >  			threads(fd, s->flags);
> > >  		}
> > >  	}
> > > --
> > > 2.50.1
> > >