[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