[Intel-gfx] [PATCH 32/38] drm/i915: Defer request emission

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Mon Sep 26 09:06:19 UTC 2016


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


More information about the Intel-gfx mailing list