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. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx