[Intel-gfx] [PATCH] drm/i915: avoid false fence signaling when enabling preemption

He, Min min.he at intel.com
Tue Mar 13 02:02:50 UTC 2018


Chris,
I just found that I was based on an older code branch, and your commit
" drm/i915: Check waiter->seqno carefully in case of preemption" already fixed
this issue I mentioned. 

I should be more careful and thanks a lot for your time and patience. 

> -----Original Message-----
> From: Chris Wilson [mailto:chris at chris-wilson.co.uk]
> Sent: Monday, March 12, 2018 6:47 PM
> To: He, Min <min.he at intel.com>; intel-gfx at lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH] drm/i915: avoid false fence signaling when
> enabling preemption
> 
> Quoting Chris Wilson (2018-03-12 10:42:56)
> > Quoting Min He (2018-03-12 06:17:10)
> > > In i915_request_wait(), it adds a local intel_wait variable into rb tree
> > > of waiters. However, when the corresponding request is preempted, the
> > > seqno of this wait will not be updated, which will lead to a false
> > > signaling to the request and cause the i915_request_wait() to return
> > > early before the request is really completed.
> >
> > Incorrect. We confirm that the request wasn't preempted before
> > signaling. Once i915_seqno_passed + intel_wait_check_request, we cannot
> > unsubmit the request.
> 
> I should also point out that the locking around accessing the wait is
> absent...
> -Chris


More information about the Intel-gfx mailing list