Re: [PATCH 02/16] drm/i915: Convert non-blocking waits for requests over to using RCU

Joonas Lahtinen
2016-08-03T13:42:05Z

On ke, 2016-08-03 at 14:36 +0100, Chris Wilson wrote:
> On Wed, Aug 03, 2016 at 04:23:16PM +0300, Joonas Lahtinen wrote:
> >
> > On ma, 2016-08-01 at 19:22 +0100, Chris Wilson wrote:
> > >
> > >  /**
> > > @@ -1647,6 +1629,15 @@ int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
> > >   int ret = 0;
> > >   bool write = !!(vmf->flags & FAULT_FLAG_WRITE);
> > >
> > > + /* Try to flush the object off the GPU first without holding the lock.
> > > +  * Upon acquiring the lock, we will perform our sanity checks and then
> > > +  * repeat the flush holding the lock in the normal manner to catch cases
> > > +  * where we are gazumped.
> > > +  */
> > > + ret = __unsafe_wait_rendering(obj, NULL, !write);
> > > + if (ret)
> > > + goto err;
> > > +
> > Why do you lift this call super early, tracing will be affected at
> > least.
> I was moving it out of the rpm_get, since we don't need to be inside that
> runtime barrier. (That rpm get is very interesting btw, but that's for
> later!)
>
> The trace can be moved as well.

With the trace moved and the label simplified,

Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation