All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Gordon <david.s.gordon@intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
	intel-gfx@lists.freedesktop.org, daniel.vetter@ffwll.ch
Subject: Re: [PATCH v2, 2/4] drm/i915: simplify testing for the global default context
Date: Mon, 4 Jan 2016 17:43:10 +0000	[thread overview]
Message-ID: <568AAF2E.5010209@intel.com> (raw)
In-Reply-To: <20151223210237.GA864@nuc-i3427.alporthouse.com>

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.

> And please stop conflating is_global_context when we have already a very
> good expression for when the context is owned by no file.
> -Chris

No existing code uses that as a test. And patch 1 of this set dropped 
file_priv anyway, since there was no actual use for it anywhere at all!
This way we don't risk having dangling pointers to deallocated file objects.

.Dave.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2016-01-04 17:43 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-23 19:33 [PATCH v2, 0/4] improve handling of the driver's default context Dave Gordon
2015-12-23 19:33 ` [PATCH v2, 1/4] drm/i915: remove intel_context::file_priv, add flag for " Dave Gordon
2015-12-23 19:33 ` [PATCH v2, 2/4] drm/i915: simplify testing for the global " Dave Gordon
2015-12-23 21:02   ` Chris Wilson
2016-01-04 17:43     ` Dave Gordon [this message]
2016-01-04 19:39       ` Chris Wilson
2016-01-04 21:38         ` Jesse Barnes
2016-01-05 10:06           ` Chris Wilson
2016-01-05 13:16             ` Dave Gordon
2015-12-23 19:33 ` [PATCH v2, 3/4] drm/i915: simplify allocation of driver-internal requests Dave Gordon
2015-12-23 19:33 ` [PATCH v2, 4/4] drm/i915: abolish separate per-engine default_context pointers Dave Gordon
2015-12-24  7:49 ` ✗ warning: Fi.CI.BAT Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=568AAF2E.5010209@intel.com \
    --to=david.s.gordon@intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=daniel.vetter@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.