From 0750856d4af44aed944253b5f354d1de47dd4e2f Mon Sep 17 00:00:00 2001 From: Graham Sider Date: Mon, 27 Mar 2023 16:18:25 -0400 Subject: [PATCH] =?UTF-8?q?Revert=20"kfdtest:=20Using=20non-paged=20memory?= =?UTF-8?q?=20allocation=20only=20on=20devices=20that=C2=A0have=20MES=20sc?= =?UTF-8?q?heduler"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch and the previous made it such that the queue ring buffer was allocated as non-paged for GFX11+. The queue ring buffer should not be mapped as non-paged; the non-paged requirement on GFX11 is only needed for the queue wptr. This patch was causing issues on various tests, such as intermittent CP_INTSRC_BAD_OPCODE interrupts. This reverts commit e40ae8481e144c4825957310734b6d11b40f2b75. Signed-off-by: Graham Sider Change-Id: I55b64aed73dc3b792f0756ae00daf6e10d93ce10 --- 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 0809c1f97a..dd1620168c 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, /* NonPaged */g_baseTest->isMES(NodeId)); + /*isScratch */ false, /* isReadOnly */false, /* isUncached */true); 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 b3567f7847..2f156ad23b 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, /*zero*/true, /*local*/false, /*exec*/false, /*isScratch */false, /* isReadOnly */false, /* isUncached */false, /* NonPaged */g_baseTest->isMES(defaultGPUNode)); + HsaMemoryBuffer pointers(PAGE_SIZE, 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 cbc1d4104a..afd5e71d99 100644 --- a/tests/kfdtest/src/KFDTestUtil.cpp +++ b/tests/kfdtest/src/KFDTestUtil.cpp @@ -258,7 +258,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 NonPaged) + bool isScratch, bool isReadOnly, bool isUncached) :m_Size(size), m_pUser(NULL), m_pBuf(NULL), @@ -282,7 +282,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 = NonPaged ? 1 : 0; + m_Flags.ui32.NonPaged = 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 c8d4de4051..a9f6c9d9be 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 NonPaged = false); + bool isExec = false, bool isScratch = false, bool isReadOnly = false, bool isUncached = false); HsaMemoryBuffer(void *addr, HSAuint64 size); template RetType As() {