[Intel-gfx] [PATCH] drm/i915: Reduce a pin-leak BUG into a WARN
Daniel Vetter
daniel at ffwll.ch
Mon Sep 17 09:48:24 CEST 2012
On Sat, Sep 15, 2012 at 09:41:57AM +0100, Chris Wilson wrote:
> Pin-leaks persist and we get the perennial bug reports of machine
> lockups to the BUG_ON(pin_count==MAX). If we instead loudly report that
> the object cannot be pinned at that time it should prevent the driver from
> locking up, and hopefully restore a semblance of working whilst still
> leaving us a OOPS to debug.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Picked up for -fixes, thanks for the patch. wrt pin leaks, I think all the
ones we still have are worker thread starvations, combined with irqs
firing too fast. /should/ be fixable ...
-Daniel
> ---
> drivers/gpu/drm/i915/i915_gem.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index da17b40..58a5f6a 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -3555,7 +3555,8 @@ i915_gem_object_pin(struct drm_i915_gem_object *obj,
> {
> int ret;
>
> - BUG_ON(obj->pin_count == DRM_I915_GEM_OBJECT_MAX_PIN_COUNT);
> + if (WARN_ON(obj->pin_count == DRM_I915_GEM_OBJECT_MAX_PIN_COUNT))
> + return -EBUSY;
>
> if (obj->gtt_space != NULL) {
> if ((alignment && obj->gtt_offset & (alignment - 1)) ||
> --
> 1.7.10.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