[PATCH] drm/i915/selftests: Use preemption timeout on cleanup
Andi Shyti
andi.shyti at linux.intel.com
Fri Dec 20 14:02:01 UTC 2024
Hi Janusz,
> > > > > +
> > > > > cond_resched();
> > > > >
> > > > > - if (intel_gt_wait_for_idle(gt, HZ * 3) == -ETIME) {
> > > > > + if (intel_gt_wait_for_idle(gt, HZ * timeout_ms / 500) == -
> > > ETIME) {
> > > >
> > > > where is this 500 coming from?
> > >
> > > / 1000 would convert it to seconds as needed, and / 500 used instead was
> > > supposed to to mean that we are willing to wait for preempt_timeout_ms *
> 2.
> > > Sorry for that shortcut. Would you like me to provide a clarifying
> comment,
> > > or maybe better use explicit 2 * preempt_timeout / 1000 ?
> >
> > It was clear that you were doubling it, but what's more
> > interesting to know (perhaps in a comment) is why you are
> > choosing to use the double of the timeout_ms instead of other
> > values.
> >
> > Makes sense?
>
> Yes, good question.
>
> Is it possible for more than one bb to hang? If yes then should we wait
> longer than the longest preemption timeout? Before I assumed that maybe we
> should, just in case, but now, having that revisited and reconsidered, I tend
> to agree that the longest preempt timeout, perhaps with a small margin (let's
> say +100ms) should be enough to recover from a single failing test case. Let
> me verify if that works for the linked case.
As we agreed offline, I'm going to add this comment you suggested
to your change as a justification to the "/ 500":
/* 2x longest preempt timeout, experimentally determined */
With this:
Reviewed-by: Andi Shyti <andi.shyti at linux.intel.com>
Thanks,
Andi
More information about the Intel-gfx
mailing list