All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Anholt <eric@anholt.net>
To: dri-devel@lists.freedesktop.org
Cc: linux-kernel@vger.kernel.org,
	Dave Emett <david.emett@broadcom.com>,
	Thomas Spurden <thomas.spurden@broadcom.com>,
	Eric Anholt <eric@anholt.net>
Subject: [PATCH v2 6/6] drm/v3d: Invalidate the caches from the outside in.
Date: Mon,  3 Dec 2018 14:24:38 -0800	[thread overview]
Message-ID: <20181203222438.25417-6-eric@anholt.net> (raw)
In-Reply-To: <20181203222438.25417-1-eric@anholt.net>

This would be a fairly obscure race, but let's make sure we don't ever
lose it.

Signed-off-by: Eric Anholt <eric@anholt.net>
---
 drivers/gpu/drm/v3d/v3d_gem.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/v3d/v3d_gem.c b/drivers/gpu/drm/v3d/v3d_gem.c
index 8a4be9515179..443b1c53117a 100644
--- a/drivers/gpu/drm/v3d/v3d_gem.c
+++ b/drivers/gpu/drm/v3d/v3d_gem.c
@@ -171,11 +171,15 @@ v3d_invalidate_slices(struct v3d_dev *v3d, int core)
 void
 v3d_invalidate_caches(struct v3d_dev *v3d)
 {
+	/* Invalidate the caches from the outside in.  That way if
+	 * another CL's concurrent use of nearby memory were to pull
+	 * an invalidated cacheline back in, we wouldn't leave stale
+	 * data in the inner cache.
+	 */
 	v3d_flush_l3(v3d);
-
 	v3d_invalidate_l2c(v3d, 0);
-	v3d_invalidate_slices(v3d, 0);
 	v3d_flush_l2t(v3d, 0);
+	v3d_invalidate_slices(v3d, 0);
 }
 
 static void
-- 
2.20.0.rc1


  parent reply	other threads:[~2018-12-03 22:24 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-03 22:24 [PATCH v2 1/6] drm/v3d: Document cache flushing ABI Eric Anholt
2018-12-03 22:24 ` Eric Anholt
2018-12-03 22:24 ` [PATCH v2 2/6] drm/v3d: Drop unused v3d_flush_caches() Eric Anholt
2018-12-03 22:24   ` Eric Anholt
2018-12-03 22:24 ` [PATCH v2 3/6] drm/v3d: Don't bother flushing L1TD at job start Eric Anholt
2018-12-03 22:24 ` [PATCH v2 4/6] drm/v3d: Drop the wait for L2T flush to complete Eric Anholt
2018-12-03 22:24   ` Eric Anholt
2018-12-04 11:53   ` Dave Emett
2018-12-03 22:24 ` [PATCH v2 5/6] drm/v3d: Stop trying to flush L2C on V3D 3.3+ Eric Anholt
2018-12-04 11:54   ` Dave Emett
2018-12-03 22:24 ` Eric Anholt [this message]
2018-12-04 12:01   ` [PATCH v2 6/6] drm/v3d: Invalidate the caches from the outside in Dave Emett
2018-12-04 11:51 ` [PATCH v2 1/6] drm/v3d: Document cache flushing ABI Dave Emett

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=20181203222438.25417-6-eric@anholt.net \
    --to=eric@anholt.net \
    --cc=david.emett@broadcom.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=thomas.spurden@broadcom.com \
    /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.