From: Daniel Vetter <daniel@ffwll.ch>
To: Chris Wilson <chris@chris-wilson.co.uk>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 2/2] drm/i915: Force TLB invalidation for erratum on 830/845 BLT
Date: Mon, 16 Apr 2012 11:02:13 +0200 [thread overview]
Message-ID: <20120416090213.GC4199@phenom.ffwll.local> (raw)
In-Reply-To: <1334566397-9110-2-git-send-email-chris@chris-wilson.co.uk>
On Mon, Apr 16, 2012 at 09:53:17AM +0100, Chris Wilson wrote:
> On 830/845, the BLT unit invalidates the wrong PTE in its TLB after the
> GATT is updated. A simple solution is then to always invalidate the TLB
> of the BLT prior to each execbuffer.
>
> This does appear to improve the stability slighty, but I am still seeing
> spurious GPU deaths under memory pressure.
>
> References: https://bugs.freedesktop.org/show_bug.cgi?id=26345
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
In the light of the eventual gpu domain tracking removal, can't we just
unconditionally set these bit in the new gen2_render_ring_flush function?
Or is it indeed to expensive?
-Daniel
> ---
> drivers/gpu/drm/i915/i915_gem_execbuffer.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> index 60fc132..b825c06 100644
> --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> @@ -883,6 +883,13 @@ i915_gem_execbuffer_move_to_gpu(struct intel_ring_buffer *ring,
> int ret;
>
> memset(&cd, 0, sizeof(cd));
> +
> + /* We need to invalidate the BLT's prefetched entries after
> + * updating the GATT (as the hardware invalidates the wrong PTEs).
> + */
> + if (IS_I830(ring->dev) || IS_845G(ring->dev))
> + cd.invalidate_domains = I915_GEM_DOMAIN_RENDER;
> +
> list_for_each_entry(obj, objects, exec_list)
> i915_gem_object_set_to_gpu_domain(obj, ring, &cd);
>
> --
> 1.7.10
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Mail: daniel@ffwll.ch
Mobile: +41 (0)79 365 57 48
next prev parent reply other threads:[~2012-04-16 9:01 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-16 8:53 [PATCH 1/2] drm/i915: Don't set a MBZ bit in gen2 MI_FLUSH Chris Wilson
2012-04-16 8:53 ` [PATCH 2/2] drm/i915: Force TLB invalidation for erratum on 830/845 BLT Chris Wilson
2012-04-16 9:02 ` Daniel Vetter [this message]
2012-04-16 9:12 ` Chris Wilson
2012-04-18 9:18 ` [PATCH 1/2] drm/i915: Don't set a MBZ bit in gen2 MI_FLUSH Daniel Vetter
2012-04-18 9:25 ` [PATCH] drm/i915: Don't set a MBZ bit in gen2/3 MI_FLUSH Chris Wilson
2012-04-18 9:41 ` Daniel Vetter
2012-04-18 10:12 ` Chris Wilson
2012-04-18 10:40 ` Daniel Vetter
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=20120416090213.GC4199@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--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.