From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 3/3] drm/i915: Only do gtt cleanup in vma_unbind for the global vma Date: Fri, 14 Feb 2014 15:23:28 +0200 Message-ID: <20140214132328.GJ3852@intel.com> References: <20140128124028.GX9454@intel.com> <1392383167-19948-1-git-send-email-daniel.vetter@ffwll.ch> <1392383167-19948-3-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mga03.intel.com (mga03.intel.com [143.182.124.21]) by gabe.freedesktop.org (Postfix) with ESMTP id 1D7A810D5A9 for ; Fri, 14 Feb 2014 05:23:49 -0800 (PST) Content-Disposition: inline In-Reply-To: <1392383167-19948-3-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: Daniel Vetter Cc: Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org On Fri, Feb 14, 2014 at 02:06:07PM +0100, Daniel Vetter wrote: > Otherwise we end up tearing down fences when e.g. the client quits > way too early. Might or might not fix a fence pin_count BUG Ville has > reported. > = > Cc: Ville Syrj=E4l=E4 > Signed-off-by: Daniel Vetter This one should also have: Tested-by: Ville Syrj=E4l=E4 > --- > drivers/gpu/drm/i915/i915_gem.c | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > = > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_= gem.c > index 675ad96a43e1..fa00b26a9cf7 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -2731,12 +2731,14 @@ int i915_vma_unbind(struct i915_vma *vma) > * cause memory corruption through use-after-free. > */ > = > - i915_gem_object_finish_gtt(obj); > + if (i915_is_ggtt(vma->vm)) { > + i915_gem_object_finish_gtt(obj); > = > - /* release the fence reg _after_ flushing */ > - ret =3D i915_gem_object_put_fence(obj); > - if (ret) > - return ret; > + /* release the fence reg _after_ flushing */ > + ret =3D i915_gem_object_put_fence(obj); > + if (ret) > + return ret; > + } > = > trace_i915_vma_unbind(vma); > = > -- = > 1.8.5.2 -- = Ville Syrj=E4l=E4 Intel OTC