All of lore.kernel.org
 help / color / mirror / Atom feed
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


             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.