From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Cc: Matthew Auld <matthew.william.auld@gmail.com>,
"# v4 . 9+" <stable@vger.kernel.org>
Subject: Re: [PATCH 3/3] drm/i915: Remove the vma from the drm_mm if binding fails
Date: Mon, 27 Feb 2017 14:02:00 +0200 [thread overview]
Message-ID: <1488196920.3324.6.camel@linux.intel.com> (raw)
In-Reply-To: <20170225232536.2277-3-chris@chris-wilson.co.uk>
On la, 2017-02-25 at 23:25 +0000, Chris Wilson wrote:
> As we track whether a vma has been inserted into the drm_mm using the
> vma->flags, if we fail to bind the vma into the GTT we do not update
> those bits and will attempt to reinsert the vma into the drm_mm on
> future passes. To prevent that, we want to unwind i915_vma_insert() if
> we fail in our attempt to bind.
>
> Fixes: 59bfa1248e22 ("drm/i915: Start passing around i915_vma from execbuffer")
> Testcase: igt/drv_selftest/live_gtt
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Matthew Auld <matthew.william.auld@gmail.com>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> Cc: <stable@vger.kernel.org> # v4.9+
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
One note below.
> @@ -541,7 +566,12 @@ int __i915_vma_do_pin(struct i915_vma *vma,
> GEM_BUG_ON(i915_vma_misplaced(vma, size, alignment, flags));
> return 0;
>
> -err:
> +err_remove:
> + if ((vma->flags & I915_VMA_BIND_MASK) == 0) {
This condition could be more symmetric.
Regards, Joonas
> + GEM_BUG_ON(vma->pages);
> + i915_vma_remove(vma);
> + }
> +err_unpin:
> __i915_vma_unpin(vma);
> return ret;
> }
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
next prev parent reply other threads:[~2017-02-27 12:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20170225232536.2277-1-chris@chris-wilson.co.uk>
2017-02-25 23:25 ` [PATCH 3/3] drm/i915: Remove the vma from the drm_mm if binding fails Chris Wilson
2017-02-27 12:02 ` Joonas Lahtinen [this message]
2017-02-27 12:06 ` Chris Wilson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1488196920.3324.6.camel@linux.intel.com \
--to=joonas.lahtinen@linux.intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
--cc=matthew.william.auld@gmail.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox