[PATCH I-G-T v4] tests/intel/i915_hangman: Fix spin engine hang
Mikolaj Wasiak
mikolaj.wasiak at intel.com
Tue Dec 17 13:08:04 UTC 2024
On 2024-12-17 at 11:23:46 +0000, Krzysztof Karas wrote:
Hi Krzysztof,
> > > > for_each_ctx_engine(device, ctx, other) {
> > > > + /* Wa_14014494547:DG2 */
> > > > + if (IS_DG2(intel_get_drm_devid(device)) && is_rcs_ccs(other))
> >
> > The test fails when both rcs and css engines run in parallel.
> > What I overlooked in first patch version, was case when both of
> > them are running as background spins (initiated exactly in loop above).
> > So now the test passes not only when one of the engines is tested one,
> > but also when the other ones are tested.
> >
> > > In previous version of this patch there were also checks to confirm
> > > that:
> > > 1) the current engine is one of the two types,
> >
> > Current engine doesn't matter now because even if we run test on rcs or
> > ccs, we will know for sure that the other one won't run in background.
> So the idea here is just to disable running rcs/ccs in background for
> all engines?
Yes, that's correct.
>
> > The tested engine is run later in the test and not in this loop.
> Does that mean rcs/ccs will always be tested separately?
Yes
> > > 2) the engines are different.
> >
> > Cc: Andi
> >
> > This I'd like Andi to comment on. What this check did, was that it
> > allowed for tested engine to have both frozen spin and normal
> > background spin. Do you think that this background spin should
> > still be run or is it negligible?
> In that case testing e == other makes sense. Thanks for explaining.
Yeah, current patch doesn't test that, I'll fix it.
Mikolaj
> > >
> > > > + continue;
> > > > +
> > > > local_ctx[num_ctx] = intel_ctx_create(device, &ctx->cfg);
> > > > context_unban(device, local_ctx[num_ctx]->id);
> > > > ahndN = get_reloc_ahnd(device, local_ctx[num_ctx]->id);
> > > > --
> > > > 2.47.1
> > > >
More information about the igt-dev
mailing list