From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>
Cc: intel-gfx@lists.freedesktop.org, mika.kuoppala@intel.com
Subject: Re: [PATCH 32/38] drm/i915: Defer request emission
Date: Mon, 26 Sep 2016 12:06:19 +0300 [thread overview]
Message-ID: <1474880779.3339.26.camel@linux.intel.com> (raw)
In-Reply-To: <20160926090412.GO28107@nuc-i3427.alporthouse.com>
On ma, 2016-09-26 at 10:04 +0100, Chris Wilson wrote:
> On Mon, Sep 26, 2016 at 11:53:05AM +0300, Joonas Lahtinen wrote:
> >
> > On ti, 2016-09-20 at 09:30 +0100, Chris Wilson wrote:
> > >
> > > Move the actual emission of the request (the closing breadcrumb) from
> > > i915_add_request() to the submit callback. (It can be moved later when
> > > required.) This allows us to defer the allocation of the global_seqno
> > > from request construction to actual submission, allowing us to emit the
> > > requests out of order (wrt to the order of their construction, they
> > > still will only be executed one all of their dependencies are resolved
> > > including that all earlier requests on their timeline have been
> > > submitted.) We have to specialise how we then emit the request in order
> > > to write into the preallocated space, rather than at the tail of the
> > > ringbuffer (which will have been advanced by the addition of new
> > > requests).
> >
> > No changelog, so assuming *out++ style change is the only one.
>
> Yeah, it was only stylistic changes, there should have been no
> functional changes. I went with *out++ after confirming Tvrtko's report
> that gcc is now smart enough to emit the same code as out[0..N] using
> *out++.
It's a nice to have the changelog for the reviewer no matter if it was
stylistic or not :P
Anyway, does it somehow get worse if "out" is embedded in the struct
and not passed alongside it?
Regards, Joonas
> -Chris
>
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-09-26 9:06 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-20 8:29 Multiple timelines, take 2 Chris Wilson
2016-09-20 8:29 ` [PATCH 01/38] drm/i915: Allow disabling error capture Chris Wilson
2016-09-21 6:13 ` Joonas Lahtinen
2016-09-20 8:29 ` [PATCH 02/38] drm/i915: Stop the machine whilst capturing the GPU crash dump Chris Wilson
2016-09-26 8:58 ` Joonas Lahtinen
2016-09-20 8:29 ` [PATCH 03/38] drm/i915: Always use the GTT for error capture Chris Wilson
2016-09-21 7:24 ` Joonas Lahtinen
2016-09-20 8:29 ` [PATCH 04/38] drm/i915: Consolidate error object printing Chris Wilson
2016-09-20 8:29 ` [PATCH 05/38] drm/i915: Compress GPU objects in error state Chris Wilson
2016-09-21 7:55 ` Joonas Lahtinen
2016-09-20 8:29 ` [PATCH 06/38] drm/i915: Support asynchronous waits on struct fence from i915_gem_request Chris Wilson
2016-09-21 8:05 ` Joonas Lahtinen
2016-09-20 8:29 ` [PATCH 07/38] drm/i915: Allow i915_sw_fence_await_sw_fence() to allocate Chris Wilson
2016-09-20 8:29 ` [PATCH 08/38] drm/i915: Rearrange i915_wait_request() accounting with callers Chris Wilson
2016-09-21 8:12 ` Joonas Lahtinen
2016-09-20 8:29 ` [PATCH 09/38] drm/i915: Remove unused i915_gem_active_wait() in favour of _unlocked() Chris Wilson
2016-09-20 8:29 ` [PATCH 10/38] drm/i915: Defer active reference until required Chris Wilson
2016-09-21 8:44 ` Joonas Lahtinen
2016-09-20 8:29 ` [PATCH 11/38] drm/i915: Introduce an internal allocator for disposable private objects Chris Wilson
2016-09-21 11:50 ` Joonas Lahtinen
2016-09-27 9:10 ` Chris Wilson
2016-09-20 8:29 ` [PATCH 12/38] drm/i915: Reuse the active golden render state batch Chris Wilson
2016-09-26 7:24 ` Joonas Lahtinen
2016-09-20 8:29 ` [PATCH 13/38] drm/i915: Markup GEM API with lockdep asserts Chris Wilson
2016-09-21 11:56 ` Joonas Lahtinen
2016-09-20 8:29 ` [PATCH 14/38] drm/i915: Use a radixtree for random access to the object's backing storage Chris Wilson
2016-09-20 8:29 ` [PATCH 15/38] drm/i915: Refactor object page API Chris Wilson
2016-09-20 8:29 ` [PATCH 16/38] drm/i915: Pass around sg_table to get_pages/put_pages backend Chris Wilson
2016-09-20 11:24 ` kbuild test robot
2016-09-20 8:29 ` [PATCH 17/38] drm/i915: Move object backing storage manipulation to its own locking Chris Wilson
2016-09-20 8:29 ` [PATCH 18/38] drm/i915/dmabuf: Acquire the backing storage outside of struct_mutex Chris Wilson
2016-09-20 8:29 ` [PATCH 19/38] drm/i915: Implement pread without struct-mutex Chris Wilson
2016-09-20 8:29 ` [PATCH 20/38] drm/i915: Implement pwrite " Chris Wilson
2016-09-20 13:47 ` kbuild test robot
2016-09-20 8:29 ` [PATCH 21/38] drm/i915: Acquire the backing storage outside of struct_mutex in set-domain Chris Wilson
2016-09-20 8:29 ` [PATCH 22/38] drm/i915: Move object release to a freelist + worker Chris Wilson
2016-09-20 8:29 ` [PATCH 23/38] drm/i915: Use lockless object free Chris Wilson
2016-09-20 8:29 ` [PATCH 24/38] drm/i915: Move GEM activity tracking into a common struct reservation_object Chris Wilson
2016-09-26 7:53 ` Joonas Lahtinen
2016-09-20 8:29 ` [PATCH 25/38] drm: Add reference counting to drm_atomic_state Chris Wilson
2016-09-21 7:24 ` Sean Paul
2016-09-20 8:30 ` [PATCH 26/38] drm/i915: Restore nonblocking awaits for modesetting Chris Wilson
2016-09-26 8:11 ` Joonas Lahtinen
2016-09-20 8:30 ` [PATCH 27/38] drm/i915: Combine seqno + tracking into a global timeline struct Chris Wilson
2016-09-20 8:30 ` [PATCH 28/38] drm/i915: Queue the idling context switch after all other timelines Chris Wilson
2016-09-26 8:49 ` Joonas Lahtinen
2016-09-20 8:30 ` [PATCH 29/38] drm/i915: Wait first for submission, before waiting for request completion Chris Wilson
2016-09-20 8:30 ` [PATCH 30/38] drm/i915: Introduce a global_seqno for each request Chris Wilson
2016-09-20 8:30 ` [PATCH 31/38] drm/i915: Record space required for request emission Chris Wilson
2016-09-20 8:30 ` [PATCH 32/38] drm/i915: Defer " Chris Wilson
2016-09-26 8:53 ` Joonas Lahtinen
2016-09-26 9:04 ` Chris Wilson
2016-09-26 9:06 ` Joonas Lahtinen [this message]
2016-09-26 9:25 ` Chris Wilson
2016-09-20 8:30 ` [PATCH 33/38] drm/i915: Move the global sync optimisation to the timeline Chris Wilson
2016-09-20 8:30 ` [PATCH 34/38] drm/i915: Create a unique name for the context Chris Wilson
2016-09-20 8:30 ` [PATCH 35/38] drm/i915: Reserve space in the global seqno during request allocation Chris Wilson
2016-09-20 18:49 ` kbuild test robot
2016-09-20 18:49 ` [PATCH] drm/i915: fix semicolon.cocci warnings kbuild test robot
2016-09-20 8:30 ` [PATCH 36/38] drm/i915: Enable multiple timelines Chris Wilson
2016-09-26 8:55 ` Joonas Lahtinen
2016-09-20 8:30 ` [PATCH 37/38] drm/i915: Enable userspace to opt-out of implicit fencing Chris Wilson
2016-09-20 8:30 ` [PATCH 38/38] drm/i915: Support explicit fencing for execbuf Chris Wilson
2016-09-20 9:24 ` ✗ Fi.CI.BAT: failure for series starting with [01/38] drm/i915: Allow disabling error capture 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=1474880779.3339.26.camel@linux.intel.com \
--to=joonas.lahtinen@linux.intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
--cc=mika.kuoppala@intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).