Quoting Daniel Vetter (2019-11-08 09:53:51) > On Wed, Nov 6, 2019 at 4:48 PM Chris Wilson <[email protected]> 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 <[email protected]> > > Cc: Maarten Lankhorst <[email protected]> > > (--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 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
