From e40ae8481e144c4825957310734b6d11b40f2b75 Mon Sep 17 00:00:00 2001 From: Yifan Zhang Date: Thu, 23 Feb 2023 14:08:21 +0800 Subject: [PATCH] =?UTF-8?q?kfdtest:=20Using=20non-paged=20memory=20allocat?= =?UTF-8?q?ion=20only=20on=20devices=20that=C2=A0have=20MES=20scheduler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I9181b353aac791f546aa7679ffd7cb8d9f8ef765 --- tests/kfdtest/src/BaseQueue.cpp | 2 +- tests/kfdtest/src/KFDQMTest.cpp | 2 +- tests/kfdtest/src/KFDTestUtil.cpp | 4 ++-- tests/kfdtest/src/KFDTestUtil.hpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/kfdtest/src/BaseQueue.cpp b/tests/kfdtest/src/BaseQueue.cpp index dd1620168c..0809c1f97a 100644 --- a/tests/kfdtest/src/BaseQueue.cpp +++ b/tests/kfdtest/src/BaseQueue.cpp @@ -49,7 +49,7 @@ HSAKMT_STATUS BaseQueue::Create(unsigned int NodeId, unsigned int size, HSAuint6 memset(&m_Resources, 0, sizeof(m_Resources)); m_QueueBuf = new HsaMemoryBuffer(size, NodeId, true/*zero*/, false/*local*/, true/*exec*/, - /*isScratch */ false, /* isReadOnly */false, /* isUncached */true); + /*isScratch */ false, /* isReadOnly */false, /* isUncached */true, /* NonPaged */g_baseTest->isMES(NodeId)); if (type == HSA_QUEUE_COMPUTE_AQL) { m_Resources.Queue_read_ptr_aql = &pointers[0]; diff --git a/tests/kfdtest/src/KFDQMTest.cpp b/tests/kfdtest/src/KFDQMTest.cpp index 2f156ad23b..b3567f7847 100644 --- a/tests/kfdtest/src/KFDQMTest.cpp +++ b/tests/kfdtest/src/KFDQMTest.cpp @@ -1174,7 +1174,7 @@ TEST_F(KFDQMTest, CreateAqlCpQueue) { int defaultGPUNode = m_NodeInfo.HsaDefaultGPUNode(); ASSERT_GE(defaultGPUNode, 0) << "failed to get default GPU Node"; - HsaMemoryBuffer pointers(PAGE_SIZE, defaultGPUNode); + HsaMemoryBuffer pointers(PAGE_SIZE, defaultGPUNode, /*zero*/true, /*local*/false, /*exec*/false, /*isScratch */false, /* isReadOnly */false, /* isUncached */false, /* NonPaged */g_baseTest->isMES(defaultGPUNode)); ASSERT_SUCCESS(queue.Create(defaultGPUNode, PAGE_SIZE, pointers.As())); diff --git a/tests/kfdtest/src/KFDTestUtil.cpp b/tests/kfdtest/src/KFDTestUtil.cpp index 5a0401dd15..7a1e888a58 100644 --- a/tests/kfdtest/src/KFDTestUtil.cpp +++ b/tests/kfdtest/src/KFDTestUtil.cpp @@ -254,7 +254,7 @@ HSAuint64 GetSystemTickCountInMicroSec() { const HsaMemoryBuffer HsaMemoryBuffer::Null; HsaMemoryBuffer::HsaMemoryBuffer(HSAuint64 size, unsigned int node, bool zero, bool isLocal, bool isExec, - bool isScratch, bool isReadOnly, bool isUncached) + bool isScratch, bool isReadOnly, bool isUncached, bool NonPaged) :m_Size(size), m_pUser(NULL), m_pBuf(NULL), @@ -278,7 +278,7 @@ HsaMemoryBuffer::HsaMemoryBuffer(HSAuint64 size, unsigned int node, bool zero, b EXPECT_EQ(isUncached, 0) << "Uncached flag is relevant only for system or host memory"; } else { m_Flags.ui32.HostAccess = 1; - m_Flags.ui32.NonPaged = 0; + m_Flags.ui32.NonPaged = NonPaged ? 1 : 0; m_Flags.ui32.CoarseGrain = 0; m_Flags.ui32.NoNUMABind = 1; m_Flags.ui32.Uncached = isUncached; diff --git a/tests/kfdtest/src/KFDTestUtil.hpp b/tests/kfdtest/src/KFDTestUtil.hpp index a9f6c9d9be..c8d4de4051 100644 --- a/tests/kfdtest/src/KFDTestUtil.hpp +++ b/tests/kfdtest/src/KFDTestUtil.hpp @@ -69,7 +69,7 @@ class HsaMemoryBuffer { public: HsaMemoryBuffer(HSAuint64 size, unsigned int node, bool zero = true, bool isLocal = false, - bool isExec = false, bool isScratch = false, bool isReadOnly = false, bool isUncached = false); + bool isExec = false, bool isScratch = false, bool isReadOnly = false, bool isUncached = false, bool NonPaged = false); HsaMemoryBuffer(void *addr, HSAuint64 size); template RetType As() {