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

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Fri Sep 20 15:12:23 UTC 2019


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?

Regards,

Tvrtko


More information about the Intel-gfx mailing list