Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] dGPU memory optimizations
@ 2026-02-18  4:33 Matthew Brost
  2026-02-18  4:33 ` [PATCH v3 1/3] drm/xe: Split H2G and G2H into separate buffer objects Matthew Brost
                   ` (11 more replies)
  0 siblings, 12 replies; 29+ messages in thread
From: Matthew Brost @ 2026-02-18  4:33 UTC (permalink / raw)
  To: intel-xe
  Cc: stuart.summers, francois.dugast, daniele.ceraolospurio,
	michal.wajdeczko

Profiling has shown that reading from VRAM on BMG is very slow and
introduces significant latency in GuC CT operations. To address this,
CPU-side read buffers (G2H) are moved to system memory, and unnecessary
CPU reads of VRAM in H2G paths are removed. This results in roughly a
50× improvement in page-fault G2H read latency and a 10× improvement in
H2G send latency (observed in ftrace) These optimizations have produced
noticeable improvements in page-fault UMD benchmarks.

Also move the seqno LRC to system memory. The performance impact of this
has not been measured, but based on GuC behavior, the HW fence signaling
path should see a noticeable speedup.

Matt

v2:
 - Fix devcoredump explosion (Testing)
v3:
 - Drop fixes tags
 - Address Michal's comments
 - Fix H2G tracepoint to avoid unconditional VRAM read
 - Move LRC seqno to system memory

Matthew Brost (3):
  drm/xe: Split H2G and G2H into separate buffer objects
  drm/xe: Avoid unconditional VRAM reads in H2G path
  drm/xe: Move LRC seqno to system memory to avoid slow dGPU reads

 drivers/gpu/drm/xe/xe_guc_ct.c       | 92 ++++++++++++++++++----------
 drivers/gpu/drm/xe/xe_guc_ct_types.h |  4 +-
 drivers/gpu/drm/xe/xe_lrc.c          | 57 ++++++++++-------
 drivers/gpu/drm/xe/xe_lrc_types.h    |  6 ++
 4 files changed, 105 insertions(+), 54 deletions(-)

-- 
2.34.1


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

end of thread, other threads:[~2026-02-26 17:56 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-18  4:33 [PATCH v3 0/3] dGPU memory optimizations Matthew Brost
2026-02-18  4:33 ` [PATCH v3 1/3] drm/xe: Split H2G and G2H into separate buffer objects Matthew Brost
2026-02-18 23:12   ` Summers, Stuart
2026-02-19  3:46     ` Matthew Brost
2026-02-24 15:58   ` Thomas Hellström
2026-02-24 16:12     ` Matthew Brost
2026-02-25 10:55       ` Thomas Hellström
2026-02-25 18:08         ` Matthew Brost
2026-02-26 12:08       ` Thomas Hellström
2026-02-18  4:33 ` [PATCH v3 2/3] drm/xe: Avoid unconditional VRAM reads in H2G path Matthew Brost
2026-02-18 23:20   ` Summers, Stuart
2026-02-26 12:47   ` Thomas Hellström
2026-02-18  4:33 ` [PATCH v3 3/3] drm/xe: Move LRC seqno to system memory to avoid slow dGPU reads Matthew Brost
2026-02-24  2:40   ` Matthew Brost
2026-02-26 12:25   ` Thomas Hellström
2026-02-26 17:11     ` Matthew Brost
2026-02-26 17:26       ` Matthew Brost
2026-02-26 17:56         ` Thomas Hellström
2026-02-26 12:43   ` Thomas Hellström
2026-02-26 16:55     ` Matthew Brost
2026-02-18  4:40 ` ✓ CI.KUnit: success for dGPU memory optimizations Patchwork
2026-02-18  5:23 ` ✗ Xe.CI.BAT: failure " Patchwork
2026-02-18  6:15 ` ✗ Xe.CI.FULL: " Patchwork
2026-02-18  7:07 ` ✓ CI.KUnit: success for dGPU memory optimizations (rev2) Patchwork
2026-02-18  7:36 ` ✓ Xe.CI.BAT: " Patchwork
2026-02-18  7:53 ` ✓ Xe.CI.FULL: " Patchwork
2026-02-18 12:29 ` ✓ CI.KUnit: success for dGPU memory optimizations (rev3) Patchwork
2026-02-18 13:09 ` ✓ Xe.CI.BAT: " Patchwork
2026-02-18 14:08 ` ✗ Xe.CI.FULL: failure " Patchwork

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