[Intel-gfx] [PATCH 3/3] drm/i915/gem: Extract transient execbuf flags from i915_vma

Chris Wilson chris at chris-wilson.co.uk
Fri Nov 8 10:05:36 UTC 2019


Quoting Daniel Vetter (2019-11-08 09:53:51)
> On Wed, Nov 6, 2019 at 4:48 PM Chris Wilson <chris at chris-wilson.co.uk> wrote:
> > For our convenience, and to avoid frequent allocations, we placed some
> > lists we use for execbuf inside the common i915_vma struct. As we look
> > to parallelise execbuf, such fields guarded by the struct_mutex BKL must
> > be pulled under local control. Instead of using the i915_vma as our
> > primary means of tracking the user's list of objects and their virtual
> > mappings, we use a local eb_vma with the same lists as before (just now
> > local not global).
> >
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> 
> (--supress-cc ? Added Maarten for real, didn't seem to be on cc in my
> inbox at least)
> 
> Why do we need this?

Because the execbuf state is not covered by the object locks. We put
them inside the vma for the express purpose of avoiding an allocation; an
allocation we ended up doing anyway, which we can now use for the sole
purpose of tracking the execbuf.

This is _execbuf_ state that we rammed into the i915_vma.
-Chris


More information about the Intel-gfx mailing list