[PATCH 3/6] watchdog

Chris Wilson chris at chris-wilson.co.uk
Wed Jan 13 12:57:22 UTC 2021


Quoting Tvrtko Ursulin (2021-01-13 12:52:50)
> 
> On 13/01/2021 12:27, Chris Wilson wrote:
> > Quoting Tvrtko Ursulin (2021-01-13 12:03:08)
> >>   void __i915_request_queue(struct i915_request *rq,
> >>                            const struct i915_sched_attr *attr)
> >>   {
> >> +       struct intel_context *ce = rq->context;
> >> +
> >> +       if (ce->watchdog.timeout_us) {
> >> +               hrtimer_init(&rq->watchdog.timer, CLOCK_MONOTONIC,
> >> +                            HRTIMER_MODE_REL);
> >> +               rq->watchdog.timer.function = request_watchdog_expired;
> >> +               hrtimer_start_range_ns(&rq->watchdog.timer,
> >> +                                      ns_to_ktime(ce->watchdog.timeout_us *
> >> +                                                  NSEC_PER_USEC),
> >> +                                      NSEC_PER_MSEC, /* FIXME check if it gives the "not sooner" guarantee or slack is both ways */
> >> +                                      HRTIMER_MODE_REL);
> >> +               i915_request_get(rq);
> >> +       }
> > 
> > Ignoring the existence of userspace today that requires >60s batches,
> > the trivial test to break this is to queue more than 10s worth of
> > work since this measuring time from user-ioctl to completion.
> > gem_exec_hostile/far-fence as a reminder on how we can legitimately
> > construct arbitrary amounts of work. (In this case, submit 3 5s batches,
> > the last should not fail.)
> 
> Now you reminded me I was supposed to put the arming into the 
> submit_notify.. Not saying it changes much. :)

Doesn't change a jiffy. :|
-Chris


More information about the Intel-gfx-trybot mailing list