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@xxxxxxxxxxxxxxxxxx] > Sent: Monday, March 12, 2018 6:47 PM > To: He, Min <min.he@xxxxxxxxx>; intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Subject: Re: [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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx