[Intel-gfx] [PATCH 11/29] drm/i915: BUG_ON put_pages later

Daniel Vetter daniel at ffwll.ch
Mon Aug 5 11:42:45 CEST 2013


On Wed, Jul 31, 2013 at 05:00:04PM -0700, Ben Widawsky wrote:
> With multiple VMs, the eviction code benefits from being able to blindly
> put pages without needing to know if there are any entities still
> holding on to those pages. As such it's preferable to return the -EBUSY
> before the BUG.
> 
> Eviction code is the only user for now, but overall it makes sense
> anyway, IMO.
> 
> Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
> ---
>  drivers/gpu/drm/i915/i915_gem.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index adb0a18..dbf72d5 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -1654,11 +1654,11 @@ i915_gem_object_put_pages(struct drm_i915_gem_object *obj)
>  	if (obj->pages == NULL)
>  		return 0;
>  
> -	BUG_ON(i915_gem_obj_ggtt_bound(obj));
> -
>  	if (obj->pages_pin_count)
>  		return -EBUSY;
>  
> +	BUG_ON(i915_gem_obj_ggtt_bound(obj));

Hm, shouldn't this be a bound_any eventually? Again I'm too layz to check
the end result, just noting my thoughs here ;-)
-Daniel

> +
>  	/* ->put_pages might need to allocate memory for the bit17 swizzle
>  	 * array, hence protect them from being reaped by removing them from gtt
>  	 * lists early. */
> -- 
> 1.8.3.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list