[Intel-gfx] [PATCH] drm/i915: Handle concurrent GTT faults gracefully

Volkin, Bradley D bradley.d.volkin at intel.com
Fri Jun 13 16:17:06 CEST 2014


On Thu, Jun 12, 2014 at 06:36:04PM +0100, Chris Wilson wrote:
> On Thu, Jun 12, 2014 at 10:10:58AM -0700, Volkin, Bradley D wrote:
> > On Thu, Jun 12, 2014 at 03:13:14PM +0100, Chris Wilson wrote:
> > > +	/* Check if a second thread completed the prefaulting for us */
> > > +	if (obj->fault_mappable && pte_exists(vma, vma->vm_start))
> > > +		goto unlock;
> > > +
> > 
> > We only set fault_mappable if we successfully remapped the whole range and clear
> > it on unmapping the whole range, so do we need the additional pte_exists() check?
> 
> Yes. You have you have to consider that we can have multiple vma
> pointing to the same object. See i-g-t/gem_mmap_gtt/read-write-distinct.
> -Chris

Ah, I missed the protection bits as a reason for a second mapping.
Makes sense though.

Reviewed-by: Brad Volkin <bradley.d.volkin at intel.com>

> 
> -- 
> Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list