kfdtest: Skip SVMEvict with xnack=0

Random driver deadlock on svm_range_evict_svm_bo_worker() is obeserved on
NPS2/DPX mode. It's seen with xnack off and happens more often on the
partition with less VRAM because of TMR.

Temporarily skip SVM Evict tests on Family AV when xnack is disabled.

Signed-off-by: Amber Lin <Amber.Lin@amd.com>
이 커밋은 다음에 포함됨:
Amber Lin 작성하고 Lin, Amber가 2025-04-25 12:45:36 -04:00를 커밋함
1 부모 f2c482d923
커밋 5e28208cec
1 파일이 변경됨
+14 -2
+14 -2
파일 보기
@@ -236,6 +236,13 @@ TEST_P(KFDSVMEvictTest, BasicTest) {
if (!SVMAPISupported())
return;
HSAint32 xnack_enable = 0;
EXPECT_SUCCESS(hsaKmtGetXNACKMode(&xnack_enable));
if (!xnack_enable) {
LOG() << std::hex << "Test is skipped with xnack off" << std::endl;
return;
}
HSAuint32 defaultGPUNode = m_NodeInfo.HsaDefaultGPUNode();
ASSERT_GE(defaultGPUNode, 0) << "failed to get default GPU Node";
HSAuint64 vramBufSize = ALLOCATE_BUF_SIZE_MB * 1024 * 1024;
@@ -303,6 +310,13 @@ TEST_P(KFDSVMEvictTest, QueueTest) {
if (!SVMAPISupported())
return;
HSAint32 xnack_enable = 0;
EXPECT_SUCCESS(hsaKmtGetXNACKMode(&xnack_enable));
if (!xnack_enable) {
LOG() << std::hex << "Test is skipped with xnack off" << std::endl;
return;
}
HSAuint32 defaultGPUNode = m_NodeInfo.HsaDefaultGPUNode();
ASSERT_GE(defaultGPUNode, 0) << "failed to get default GPU Node";
unsigned int count = MAX_WAVEFRONTS;
@@ -338,8 +352,6 @@ TEST_P(KFDSVMEvictTest, QueueTest) {
LOG() << "Found VRAM of " << std::dec << (vramSize >> 20) << "MB." << std::endl;
}
HSAint32 xnack_enable = 0;
EXPECT_SUCCESS(hsaKmtGetXNACKMode(&xnack_enable));
HSAuint64 vramBufSize = GetBufferSize(vramSize, count, xnack_enable);
if (vramBufSize == 0) {
LOG() << "Not enough system memory, skipping the test" << std::endl;