[Intel-gfx] [RFC 2/5] drm/i915: Unify execlist and legacy request life-cycles

Nick Hoath nicholas.hoath at intel.com
Wed Jul 29 08:20:34 PDT 2015


On 09/07/2015 12:12, Chris Wilson wrote:
> On Thu, Jul 09, 2015 at 11:57:41AM +0100, Nick Hoath wrote:
>> There is a desire to simplify the i915 driver by reducing the number of
>> different code paths introduced by the LRC / execlists support.  As the
>> execlists request is now part of the gem request it is possible and
>> desirable to unify the request life-cycles for execlist and legacy
>> requests.
>>
>> Added a context complete flag to a request which gets set during the
>> context switch interrupt.
>>
>> Added a function i915_gem_request_retireable().  A request is considered
>> retireable if its seqno passed (i.e. the request has completed) and either
>> it was never submitted to the ELSP or its context completed.  This ensures
>> that context save is carried out before the last request for a context is
>> considered retireable.  retire_requests_ring() now uses
>> i915_gem_request_retireable() rather than request_complete() when deciding
>> which requests to retire. Requests that were not waiting for a context
>> switch interrupt (either as a result of being merged into a following
>> request or by being a legacy request) will be considered retireable as
>> soon as their seqno has passed.
>
> Nak. Just keep the design as requests only retire when seqno passes.
>
>> Removed the extra request reference held for the execlist request.
>>
>> Removed intel_execlists_retire_requests() and all references to
>> intel_engine_cs.execlist_retired_req_list.
>>
>> Moved context unpinning into retire_requests_ring() for now.  Further work
>> is pending for the context pinning - this patch should allow us to use the
>> active list to track context and ring buffer objects later.
>>
>> Changed gen8_cs_irq_handler() so that notify_ring() is called when
>> contexts complete as well as when a user interrupt occurs so that
>> notification happens when a request is complete and context save has
>> finished.
>>
>> v2: Rebase over the read-read optimisation changes
>
> Any reason why you didn't review my patches to do this much more neatly?
Do you have a link for the relevant patches?
> -Chris
>



More information about the Intel-gfx mailing list