kfdtest: Using non-paged memory allocation only on devices that have MES scheduler

Change-Id: I9181b353aac791f546aa7679ffd7cb8d9f8ef765
This commit is contained in:
Yifan Zhang
2023-02-23 14:08:21 +08:00
förälder 564913526a
incheckning e40ae8481e
4 ändrade filer med 5 tillägg och 5 borttagningar
+1 -1
Visa fil
@@ -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];
+1 -1
Visa fil
@@ -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<HSAuint64 *>()));
+2 -2
Visa fil
@@ -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;
+1 -1
Visa fil
@@ -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<typename RetType>
RetType As() {