[Intel-gfx] [PATCH 6/8] drm/i915/selftests: Terminate hangcheck sanitycheck forcibly

Mika Kuoppala mika.kuoppala at linux.intel.com
Mon Dec 3 12:21:18 UTC 2018


Chris Wilson <chris at chris-wilson.co.uk> writes:

> Quoting Mika Kuoppala (2018-12-03 12:09:39)
>> Chris Wilson <chris at chris-wilson.co.uk> writes:
>> 
>> > If all else fails and we are stuck eternally waiting for the undying
>> > request, abandon all hope.
>> >
>> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
>> > ---
>> >  drivers/gpu/drm/i915/selftests/intel_hangcheck.c | 12 +++++++++---
>> >  1 file changed, 9 insertions(+), 3 deletions(-)
>> >
>> > diff --git a/drivers/gpu/drm/i915/selftests/intel_hangcheck.c b/drivers/gpu/drm/i915/selftests/intel_hangcheck.c
>> > index defe671130ab..a48fbe2557ea 100644
>> > --- a/drivers/gpu/drm/i915/selftests/intel_hangcheck.c
>> > +++ b/drivers/gpu/drm/i915/selftests/intel_hangcheck.c
>> > @@ -308,6 +308,7 @@ static int igt_hang_sanitycheck(void *arg)
>> >               goto unlock;
>> >  
>> >       for_each_engine(engine, i915, id) {
>> > +             struct igt_wedge_me w;
>> >               long timeout;
>> >  
>> >               if (!intel_engine_can_store_dword(engine))
>> > @@ -328,9 +329,14 @@ static int igt_hang_sanitycheck(void *arg)
>> >  
>> >               i915_request_add(rq);
>> >  
>> > -             timeout = i915_request_wait(rq,
>> > -                                         I915_WAIT_LOCKED,
>> > -                                         MAX_SCHEDULE_TIMEOUT);
>> > +             timeout = 0;
>> > +             igt_wedge_on_timeout(&w, i915, HZ / 10 /* 100ms timeout*/)
>> 
>> 100ms? We are emitting a hanging batch here, so there is something
>> I am missing here.
>
> It's not a hanging batch, anymore due to the terminator applied a couple
> of lines above.

There it is. I did read the code, I did have coffee. It is Monday.

Reviewed-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>

> -Chris


More information about the Intel-gfx mailing list