All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
To: intel-xe@lists.freedesktop.org
Subject: [Intel-xe] [PATCH 0/2] Implement rcs/ccs missing invalidations and flushes
Date: Wed,  7 Jun 2023 19:47:27 +0200	[thread overview]
Message-ID: <20230607174729.54899-1-thomas.hellstrom@linux.intel.com> (raw)

Mesa is seeing unexpected content in some tests.
Fixing those require a TLB invalidation at batch start and a
render cache flush at batch end.

KMD also requires the latter to make sure any GPU side caches are
flushed before handing memory over for reuse. This is implemented
in patch 2.

The former is likely due to scratch PTEs remaining in the TLB after a
prefetch or similar. We could discuss whether user-space should be
responsible for a TLB invalidation after a VM_BIND operation, but
patch 1 implements a TLB flush at batch start for non-LR vms with scratch
pages. For LR vms with scratch pages the TLB flush is incoporated
in the bind fence.

The TLB invalidation can be optimized / coalesced later.

Thomas Hellström (2):
  drm/xe: Invalidate TLB also on bind if in scratch page mode
  drm/xe: Emit a render cache flush after each rcs/ccs batch

 drivers/gpu/drm/xe/regs/xe_gpu_commands.h |  4 ++
 drivers/gpu/drm/xe/xe_pt.c                | 17 +++++++-
 drivers/gpu/drm/xe/xe_ring_ops.c          | 50 +++++++++++++++++++++--
 drivers/gpu/drm/xe/xe_wa_oob.rules        |  1 +
 4 files changed, 67 insertions(+), 5 deletions(-)

-- 
2.39.2


             reply	other threads:[~2023-06-07 17:47 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-07 17:47 Thomas Hellström [this message]
2023-06-07 17:47 ` [Intel-xe] [PATCH 1/2] drm/xe: Invalidate TLB also on bind if in scratch page mode Thomas Hellström
2023-06-07 18:01   ` Souza, Jose
2023-06-09 15:51   ` Matthew Brost
2023-06-09 15:54     ` Souza, Jose
2023-06-07 17:47 ` [Intel-xe] [PATCH 2/2] drm/xe: Emit a render cache flush after each rcs/ccs batch Thomas Hellström
2023-06-07 18:44   ` Souza, Jose
2023-06-07 17:49 ` [Intel-xe] ✓ CI.Patch_applied: success for Implement rcs/ccs missing invalidations and flushes Patchwork
2023-06-07 17:49 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
2023-06-07 17:50 ` [Intel-xe] ✗ CI.KUnit: failure " Patchwork
2023-06-07 18:03 ` [Intel-xe] [PATCH 0/2] " Souza, Jose

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=20230607174729.54899-1-thomas.hellstrom@linux.intel.com \
    --to=thomas.hellstrom@linux.intel.com \
    --cc=intel-xe@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.