From: Matthew Brost <matthew.brost@intel.com>
To: intel-xe@lists.freedesktop.org
Cc: stuart.summers@intel.com, francois.dugast@intel.com,
daniele.ceraolospurio@intel.com, michal.wajdeczko@intel.com
Subject: [PATCH v3 0/3] dGPU memory optimizations
Date: Tue, 17 Feb 2026 20:33:16 -0800 [thread overview]
Message-ID: <20260218043319.809548-1-matthew.brost@intel.com> (raw)
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
next reply other threads:[~2026-02-18 4:33 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-18 4:33 Matthew Brost [this message]
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
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=20260218043319.809548-1-matthew.brost@intel.com \
--to=matthew.brost@intel.com \
--cc=daniele.ceraolospurio@intel.com \
--cc=francois.dugast@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=michal.wajdeczko@intel.com \
--cc=stuart.summers@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox