[Intel-gfx] [PATCH 7/7] drm/i915/gem: Acquire all vma/objects under reservation_ww_class

Dave Airlie airlied at gmail.com
Wed Jun 24 19:04:02 UTC 2020


On Wed, 24 Jun 2020 at 07:19, Chris Wilson <chris at chris-wilson.co.uk> wrote:
>
> Quoting Dave Airlie (2020-06-23 22:01:24)
> > On Tue, 23 Jun 2020 at 20:03, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> > >
> > > Quoting Thomas Hellström (Intel) (2020-06-23 10:33:20)
> > > > Hi, Chris!
> > > >
> > > > On 6/22/20 11:59 AM, Chris Wilson wrote:
> > > > > In order to actually handle eviction and what not, we need to process
> > > > > all the objects together under a common lock, reservation_ww_class. As
> > > > > such, do a memory reservation pass after looking up the object/vma,
> > > > > which then feeds into the rest of execbuf [relocation, cmdparsing,
> > > > > flushing and ofc execution].
> > > > >
> > > > > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > > > > ---
> > > > >   .../gpu/drm/i915/gem/i915_gem_execbuffer.c    | 91 ++++++++++++++-----
> > > > >   1 file changed, 70 insertions(+), 21 deletions(-)
> > > > >
> > > > Which tree is this against? The series doesn't apply cleanly against
> > > > drm-tip?
> > >
> > > It's continuing on from the scheduler patches, the bug fixes and the
> > > iris-deferred-fence work. I thought throwing all of those old patches
> > > into the pile would have been distracting.
> > >
> > > > ...
> > > >
> > > > > +static int eb_reserve_mm(struct i915_execbuffer *eb)
> > > > > +{
> > > > > +     const u64 idx = eb->context->timeline->fence_context;
> > > > > +     struct ww_acquire_ctx acquire;
> > > > > +     struct eb_vma *ev;
> > > > > +     int err;
> > > > > +
> > > > > +     eb->mm_fence = __dma_fence_create_proxy(0, 0);
> > > > > +     if (!eb->mm_fence)
> > > > > +             return -ENOMEM;
> > > >
> > > > Where are the proxy fence functions defined?
> > >
> > > In dma-fence-proxy.c ;)
> >
> > The dma-fence-proxy that Christian NAKed before?
>
> I do not have an email from Christian about dma-fence-proxy in the last
> 3 years it has been on the list.

https://lore.kernel.org/dri-devel/aeb0373d-0583-d922-3b73-93668c27d177@amd.com/

I'm assuming this was about patch 8 there which to me looks like proxy
fences but maybe by threading is off reading that.

https://lore.kernel.org/dri-devel/1502491174-10913-9-git-send-email-jason.ekstrand@intel.com/

Dave.


More information about the Intel-gfx mailing list