[Intel-gfx] [PATCH] drm/i915: Always move bo onto global unbound list after final unbind

Chris Wilson chris at chris-wilson.co.uk
Thu Jan 9 16:17:47 CET 2014


On Thu, Jan 09, 2014 at 03:11:39PM +0000, Chris Wilson wrote:
> At first glance, it seems reasonable that a currently unbound bo during
> i915_vma_unbind() could only arrive there by an interrupted execbuffer
> that never successfully bound. However, inserting a BUG, viz
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c
> b/drivers/gpu/drm/i915/i915_gem.c
> index b52c38d63914..8e52ac771a52 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2858,6 +2858,7 @@ int i915_vma_unbind(struct i915_vma *vma)
> 
>         if (!drm_mm_node_allocated(&vma->node)) {
>                 i915_gem_vma_destroy(vma);
> +               BUG_ON(!list_empty(&obj->vma_list));
>                 return 0;
>         }
> 
> quickly disproves that notion. So as it is possible then to have an
> unallocated bo on the global bound list,

And that's my mistake. It could easily be on the global unbound list.
Ok, probably nothing to worry about...
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list