public inbox for intel-xe@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH V6 0/4] drm/xe/xe3p_lpg: L2 flush optimization
@ 2026-03-05 12:19 Tejas Upadhyay
  2026-03-05 12:19 ` [PATCH V6 1/4] drm/xe/xe3p_lpg: flush shrinker bo cachelines manually Tejas Upadhyay
                   ` (6 more replies)
  0 siblings, 7 replies; 18+ messages in thread
From: Tejas Upadhyay @ 2026-03-05 12:19 UTC (permalink / raw)
  To: intel-xe
  Cc: matthew.auld, thomas.hellstrom, carl.zhang, jose.souza,
	Tejas Upadhyay

The optimization involves two key changes:

Hardware-assisted Transient Display Flush:
The new hardware can automatically manage the flushing of "transient"
display data from the L2 cache. This eliminates the need for manual
(software-driven) transient display (TD) flushes by the driver,
simplifying the code and likely improving efficiency.

Transient Application (App) Cacheline Management:
The hardware gains the ability to flush transient application cache
lines more efficiently. The patch handles the necessary integration
to utilize this new functionality and manages manual flushing where
it is still required, ensuring data coherency and optimizing
performance.

Additional handling due to L2 flush optimization:
1. Need to flush cachelines manually via async tlb flush for internal/shrinker bo
2. Define coh_mode 2way for differentiating coherency modes
3. Add restrictions for userptr, svm/madvise and dmabuf to use either 2WAY or XA+1WAY
   pat settings


Tejas Upadhyay (4):
  drm/xe/xe3p_lpg: flush shrinker bo cachelines manually
  drm/xe/pat: define coh_mode 2way
  drm/xe/xe3p_lpg: Restrict UAPI to enable L2 flush optimization
  drm/xe/xe3p: Skip TD flush

 drivers/gpu/drm/xe/xe_bo.c         |  7 ++++++-
 drivers/gpu/drm/xe/xe_device.c     | 31 ++++++++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_device.h     |  1 +
 drivers/gpu/drm/xe/xe_guc.c        |  3 +++
 drivers/gpu/drm/xe/xe_guc_fwif.h   |  1 +
 drivers/gpu/drm/xe/xe_pat.c        | 14 +++++++-------
 drivers/gpu/drm/xe/xe_pat.h        |  5 +++--
 drivers/gpu/drm/xe/xe_vm.c         | 10 +++++++++-
 drivers/gpu/drm/xe/xe_vm_madvise.c | 25 +++++++++++++++++++++++-
 include/uapi/drm/xe_drm.h          |  4 +++-
 10 files changed, 88 insertions(+), 13 deletions(-)

-- 
2.52.0


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

end of thread, other threads:[~2026-03-11 14:58 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-05 12:19 [PATCH V6 0/4] drm/xe/xe3p_lpg: L2 flush optimization Tejas Upadhyay
2026-03-05 12:19 ` [PATCH V6 1/4] drm/xe/xe3p_lpg: flush shrinker bo cachelines manually Tejas Upadhyay
2026-03-05 12:19 ` [PATCH V6 2/4] drm/xe/pat: define coh_mode 2way Tejas Upadhyay
2026-03-05 12:19 ` [PATCH V6 3/4] drm/xe/xe3p_lpg: Restrict UAPI to enable L2 flush optimization Tejas Upadhyay
2026-03-05 13:52   ` Thomas Hellström
2026-03-05 13:59   ` Matthew Auld
2026-03-06  5:46     ` Upadhyay, Tejas
2026-03-06  7:11     ` Zhang, Carl
2026-03-06  9:13       ` Upadhyay, Tejas
2026-03-06 10:08       ` Matthew Auld
2026-03-09 15:29         ` Zhang, Carl
2026-03-09 17:22           ` Matthew Auld
2026-03-09 17:30             ` Thomas Hellström
2026-03-11 14:58               ` Zhang, Carl
2026-03-05 12:19 ` [PATCH V6 4/4] drm/xe/xe3p: Skip TD flush Tejas Upadhyay
2026-03-06 12:16 ` ✓ CI.KUnit: success for drm/xe/xe3p_lpg: L2 flush optimization (rev7) Patchwork
2026-03-06 12:58 ` ✓ Xe.CI.BAT: " Patchwork
2026-03-07 13:34 ` ✓ Xe.CI.FULL: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox