[PATCH 3/6] watchdog
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Wed Jan 13 12:52:50 UTC 2021
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. :)
Regards,
Tvrtko
More information about the Intel-gfx-trybot
mailing list