From: Priya Hosur <Priya.Hosur@amd.com>
To: <amd-gfx@lists.freedesktop.org>, <Felix.Kuehling@amd.com>,
<Shaoyun.Liu@amd.com>, <Lijo.Lazar@amd.com>,
<Alexander.Deucher@amd.com>, <Mario.Limonciello@amd.com>,
<Christian.Koenig@amd.com>
Cc: <Pratik.Vishwakarma@amd.com>,
<Veerabadhran.Gopalakrishnan@amd.com>, <Priya.Hosur@amd.com>
Subject: [PATCH 0/1] drm/amdkfd: Fix SVM page migration hang on MES-based GPUs
Date: Wed, 12 Aug 2026 11:41:21 +0530 [thread overview]
Message-ID: <20260812061122.435929-1-Priya.Hosur@amd.com> (raw)
This patch addresses a GPU queue hang issue during SVM (Shared Virtual
Memory) page migration on MES-based GPUs, specifically observed on
gfx1151 (Ryzen AI MAX).
Problem:
--------
KFDSVMRangeTest.MultiThreadMigrationTest/1 fails with a queue consumption
timeout when XNACK mode 1 is enabled. The GPU compute queue hangs with
packets submitted but never consumed.
Root Cause:
-----------
MES (Micro Engine Scheduler) does not perform heavy-weight TLB invalidation
after unmapping queues, unlike HWS which does this automatically. This
causes in-flight SDMA DMA descriptors to access memory that has been
unmapped, leading to page faults and queue hangs.
Fix:
----
Add kfd_flush_tlb() with TLB_FLUSH_HEAVYWEIGHT after MES removes/suspends
queues in evict_process_queues_cpsch() and suspend_queues().
Testing:
--------
Platform: gfx1151, ROCm 7.15.0, kernel 7.0.0-28-generic
Results:
- Baseline (no fix): 100% failure (50 runs)
- With TLB flush: 7-10% failure (100 runs)
The TLB flush significantly reduces failures from 100% to ~10%. The
residual failures require further investigation and may be addressed
in a follow-up patch.
Priya Hosur (1):
drm/amdkfd: Add TLB flush after MES queue eviction/suspension
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
--
2.43.0
next reply other threads:[~2026-08-12 6:11 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-12 6:11 Priya Hosur [this message]
2026-08-12 6:11 ` [PATCH 1/1] drm/amdkfd: Add TLB flush after MES queue eviction/suspension Priya Hosur
2026-08-12 16:19 ` Kuehling, Felix
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=20260812061122.435929-1-Priya.Hosur@amd.com \
--to=priya.hosur@amd.com \
--cc=Alexander.Deucher@amd.com \
--cc=Christian.Koenig@amd.com \
--cc=Felix.Kuehling@amd.com \
--cc=Lijo.Lazar@amd.com \
--cc=Mario.Limonciello@amd.com \
--cc=Pratik.Vishwakarma@amd.com \
--cc=Shaoyun.Liu@amd.com \
--cc=Veerabadhran.Gopalakrishnan@amd.com \
--cc=amd-gfx@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.