All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-xe] [PATCH 0/2] Implement rcs/ccs missing invalidations and flushes
@ 2023-06-07 17:47 Thomas Hellström
  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
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Thomas Hellström @ 2023-06-07 17:47 UTC (permalink / raw)
  To: intel-xe

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


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-06-09 15:55 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-07 17:47 [Intel-xe] [PATCH 0/2] Implement rcs/ccs missing invalidations and flushes Thomas Hellström
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

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.