Re: [PATCH] drm/i915: Prevent bonded requests from overtaking each other on preemption

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting Tvrtko Ursulin (2019-09-20 16:12:23)
> 
> On 20/09/2019 15:57, Chris Wilson wrote:
> > Quoting Chris Wilson (2019-09-20 09:36:24)
> >> Force bonded requests to run on distinct engines so that they cannot be
> >> shuffled onto the same engine where timeslicing will reverse the order.
> >> A bonded request will often wait on a semaphore signaled by its master,
> >> creating an implicit dependency -- if we ignore that implicit dependency
> >> and allow the bonded request to run on the same engine and before its
> >> master, we will cause a GPU hang.
> > 
> > Thinking more, it should not directly cause a GPU hang, as the stuck request
> > should be timesliced away, and each preemption should be enough to keep
> > hangcheck at bay (though we have evidence it may not). So at best it runs
> > at half-speed, at worst a third (if my model is correct).
> 
> But I think it is still correct to do since we don't have the coupling 
> information on re-submit. Hm.. but don't we need to prevent slave from 
> changing engines as well?

Yes, it still looks like a sensible enough patch (even if I am biased
because I think it is cute), especially in light of how we only run the
bond_execute once and do not reconfigure the execution_mask on unsubmit.

Still working on the test cases to exercise timeslicing +
submit/bonding.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux