[Intel-gfx] [PATCH 1/2] drm/i915: Defer assignment of obj->gtt_space until after all possible mallocs
Daniel Vetter
daniel at ffwll.ch
Wed Nov 21 14:11:34 CET 2012
On Wed, Nov 21, 2012 at 01:04:03PM +0000, Chris Wilson wrote:
> As we may invoke the shrinker whilst trying to allocate memory to hold
> the gtt_space for this object, we need to be careful not to mark the
> drm_mm_node as activated (by assigning it to this object) before we
> have finished our sequence of allocations.
>
> Reported-by: Imre Deak <imre.deak at gmail.com>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
> @@ -3449,11 +3443,16 @@ i915_gem_object_pin(struct drm_i915_gem_object *obj,
> }
>
> if (obj->gtt_space == NULL) {
> + struct drm_i915_private *dev_priv = obj->base.dev->dev_private;
> +
> ret = i915_gem_object_bind_to_gtt(obj, alignment,
> map_and_fenceable,
> nonblocking);
> if (ret)
> return ret;
> +
> + if (!dev_priv->mm.aliasing_ppgtt)
> + i915_gem_gtt_bind_object(obj, obj->cache_level);
Spurious hunk?
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list