Re: [Intel-gfx] [PATCH] drm/i915: fix infinite recursion on unbinddue to ilk vt-d w/a

From: Ben Widawsky
Date: Tue Dec 06 2011 - 12:43:23 EST


On Tue, Dec 06, 2011 at 12:12:33PM +0100, Daniel Vetter wrote:
> The recursion loop goes retire_requests->unbind->gpu_idle->retire_reqeusts.
>
> Every time we go through this we need a
> - active object that can be retired
> - and there are no other references to that object than the one from
> the active list, so that it gets unbound and freed immediately.
> Otherwise the recursion stops. So the recursion is only limited by the
> number of objects that fit these requirements sitting in the active list
> any time retire_request is called.
>
> Issue exercised by tests/gem_unref_active_buffers from i-g-t.
>
> There's been a decent bikeshed discussion whether it wouldn't be
> better to pass around a flag, but imo this is o.k. for such a limited
> case that only supports a w/a.
>
> Signed-Off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
> Reviewed-by: Chris Wilson <chris@chris-wilson> # we built better
> bikesheds, but this keeps the rain off for now
> ---

What about:
http://lists.freedesktop.org/archives/intel-gfx/2011-October/012984.html


Did someone prove that doesn't work?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/