[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