[Intel-gfx] [PATCH v2, 2/4] drm/i915: simplify testing for the global default context

Jesse Barnes jbarnes at virtuousgeek.org
Mon Jan 4 13:38:26 PST 2016


On 01/04/2016 11:39 AM, Chris Wilson wrote:
> On Mon, Jan 04, 2016 at 05:43:10PM +0000, Dave Gordon wrote:
>> On 23/12/15 21:02, Chris Wilson wrote:
>>> On Wed, Dec 23, 2015 at 07:33:53PM +0000, Dave Gordon wrote:
>>>> There are quite a number of places where the driver tests whether
>>>> a given context is or is not the global default context, usually by
>>>> checking whether an engine's default_pointer points to the context.
>>>> Now that we have a 'is_global_default' flag in the context itself,
>>>> all these tests these can be rewritten to use it. This makes the
>>>> logic more obvious, and usually saves at least one memory reference.
>>>> In addition, with these uses eliminated, a future patch will be able
>>>> to get rid of engine::default_context entirely.
>>>
>>> All the execlists use of ctx != ring->default_context stems from a
>>> misstep in execlists - if you stop treating that default_context as
>>> special during request processing and just take the pin/unpin at
>>> init/fini of the ring, they all disappear.
>>
>> We do already pin/unpin the default context at creation/deletion;
>> AFAICS the extra tests are probably an attempt not to do an extra
>> pin/unpin on an object which is by definition already pinned. And
>> I'd be quite happy to get rid of those tests, and just issue a pin
>> for *every* request issues on a context -- indeed, I think Nick may
>> have just such a patch. But his changes are blocked on getting the
>> elimination of ring->default_context (patch 4 of THIS set) merged
>> first, since having those backpointers dictates the order of
>> creation and destruction.
> 
> This series is NAKed.

Why?  Because you want things in a different order?  Or do you object to something in Dave's reply?

Jesse



More information about the Intel-gfx mailing list