Revert "kfdtest: Using non-paged memory allocation only on devices that have MES scheduler"
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 e40ae8481e.
Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I55b64aed73dc3b792f0756ae00daf6e10d93ce10
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, /* 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];
|
||||
|
||||
@@ -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<HSAuint64 *>()));
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<typename RetType>
|
||||
RetType As() {
|
||||
|
||||
Viittaa uudesa ongelmassa
Block a user