kfdtest: Using non-paged memory allocation only on devices that have MES scheduler
Change-Id: I9181b353aac791f546aa7679ffd7cb8d9f8ef765
This commit is contained in:
@@ -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];
|
||||
|
||||
@@ -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 *>()));
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Referens i nytt ärende
Block a user