From: Mika Kuoppala <mika.kuoppala@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 02/10] drm/i915/userptr: Make gup errors stickier
Date: Tue, 16 Aug 2016 10:40:24 +0300 [thread overview]
Message-ID: <87pop9nouv.fsf@gaia.fi.intel.com> (raw)
In-Reply-To: <1470997701-988-3-git-send-email-chris@chris-wilson.co.uk>
Chris Wilson <chris@chris-wilson.co.uk> writes:
> Keep any error reported by the gup_worker until we are notified that the
> arena has changed (via the mmu-notifier). This has the importance of
> making two consecutive calls to i915_gem_object_get_pages() reporting
> the same error, and curtailing an loop of detecting a fault and requeueing
> a gup_worker.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
> ---
> drivers/gpu/drm/i915/i915_gem_userptr.c | 17 +++++++----------
> 1 file changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_userptr.c b/drivers/gpu/drm/i915/i915_gem_userptr.c
> index 57218cca7e05..be54825ef3e8 100644
> --- a/drivers/gpu/drm/i915/i915_gem_userptr.c
> +++ b/drivers/gpu/drm/i915/i915_gem_userptr.c
> @@ -542,8 +542,6 @@ __i915_gem_userptr_get_pages_worker(struct work_struct *_work)
> }
> }
> obj->userptr.work = ERR_PTR(ret);
> - if (ret)
> - __i915_gem_userptr_set_active(obj, false);
> }
>
> obj->userptr.workers--;
> @@ -628,15 +626,14 @@ i915_gem_userptr_get_pages(struct drm_i915_gem_object *obj)
> * to the vma (discard or cloning) which should prevent the more
> * egregious cases from causing harm.
> */
> - if (IS_ERR(obj->userptr.work)) {
> - /* active flag will have been dropped already by the worker */
> - ret = PTR_ERR(obj->userptr.work);
> - obj->userptr.work = NULL;
> - return ret;
> - }
> - if (obj->userptr.work)
> +
> + if (obj->userptr.work) {
> /* active flag should still be held for the pending work */
> - return -EAGAIN;
> + if (IS_ERR(obj->userptr.work))
> + return PTR_ERR(obj->userptr.work);
> + else
> + return -EAGAIN;
> + }
>
> /* Let the mmu-notifier know that we have begun and need cancellation */
> ret = __i915_gem_userptr_set_active(obj, true);
> --
> 2.8.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-08-16 7:41 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-12 10:28 Partial VMA fixes Chris Wilson
2016-08-12 10:28 ` [PATCH 01/10] drm/i915: Move map-and-fenceable tracking to the VMA Chris Wilson
2016-08-15 8:03 ` Joonas Lahtinen
2016-08-15 8:14 ` Chris Wilson
2016-08-12 10:28 ` [PATCH 02/10] drm/i915/userptr: Make gup errors stickier Chris Wilson
2016-08-15 11:16 ` Joonas Lahtinen
2016-08-15 15:08 ` Mika Kuoppala
2016-08-15 15:28 ` Chris Wilson
2016-08-16 7:40 ` Mika Kuoppala [this message]
2016-08-12 10:28 ` [PATCH 03/10] drm/i915: Move fence tracking from object to vma Chris Wilson
2016-08-15 9:18 ` Joonas Lahtinen
2016-08-15 9:25 ` Chris Wilson
2016-08-15 10:16 ` Joonas Lahtinen
2016-08-15 9:52 ` Chris Wilson
2016-08-12 10:28 ` [PATCH 04/10] drm/i915: Choose partial chunksize based on tile row size Chris Wilson
2016-08-12 10:38 ` Joonas Lahtinen
2016-08-12 10:28 ` [PATCH 05/10] drm/i915: Fix partial GGTT faulting Chris Wilson
2016-08-15 9:29 ` Joonas Lahtinen
2016-08-12 10:28 ` [PATCH 06/10] drm/i915: Choose not to evict faultable objects from the GGTT Chris Wilson
2016-08-12 10:50 ` Joonas Lahtinen
2016-08-12 11:13 ` Chris Wilson
2016-08-15 10:20 ` Joonas Lahtinen
2016-08-12 10:28 ` [PATCH 07/10] drm/i915: Fallback to using unmappable memory for scanout Chris Wilson
2016-08-15 9:33 ` Joonas Lahtinen
2016-08-12 10:28 ` [PATCH 08/10] drm/i915: Track display alignment on VMA Chris Wilson
2016-08-15 9:38 ` Joonas Lahtinen
2016-08-16 8:40 ` Chris Wilson
2016-08-12 10:28 ` [PATCH 09/10] drm/i915: Bump the inactive MRU tracking for all VMA accessed Chris Wilson
2016-08-15 9:59 ` Joonas Lahtinen
2016-08-15 10:12 ` Chris Wilson
2016-08-15 11:10 ` Joonas Lahtinen
2016-08-12 10:28 ` [PATCH 10/10] drm/i915: Stop discarding GTT cache-domain on unbind vma Chris Wilson
2016-08-15 10:03 ` Joonas Lahtinen
2016-08-12 10:33 ` ✗ Ro.CI.BAT: failure for series starting with [01/10] drm/i915: Move map-and-fenceable tracking to the VMA Patchwork
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=87pop9nouv.fsf@gaia.fi.intel.com \
--to=mika.kuoppala@linux.intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.