kfdtest: Set XNACK mode according HSA_XNACK env setting

According env setting HSA_XNACK=1 or 0, set XNACK mode ON or OFF to run
KFDSVMRangeTest and KFDSVMEvictTest. If HSA_XNACK is not defined, use
system boot-time XNACK mode setting.

Restore to the original XNACK mode when test finished.

Change-Id: Ia896a1b0a90854646c8a79acca38a7d46098efde
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
This commit is contained in:
Philip Yang committed 2022-04-25 18:22:08 -04:00
1 parent e738e57fc4
commit 23ec6e880e
4 files changed
+64 -4

No files matched your search

+6 -4
View File
@@ -36,6 +36,8 @@ void KFDSVMRangeTest::SetUp() {
m_pIsaGen = IsaGenerator::Create(m_FamilyId);
SVMSetXNACKMode();
ROUTINE_END
}
@@ -46,6 +48,8 @@ void KFDSVMRangeTest::TearDown() {
delete m_pIsaGen;
m_pIsaGen = NULL;
SVMRestoreXNACKMode();
KFDBaseComponentTest::TearDown();
ROUTINE_END
@@ -1287,10 +1291,8 @@ TEST_F(KFDSVMRangeTest, ReadOnlyRangeTest) {
*/
int pid = fork();
if (pid == 0) {
if (hsaKmtOpenKFD() != HSAKMT_STATUS_SUCCESS) {
WARN() << "KFD open failed in child process" << std::endl;
exit(1);
}
TearDown();
SetUp();
} else {
int childStatus;