@@ -595,6 +595,26 @@ TEST_F(KFDMemoryTest, MemoryAlloc) {
TEST_END
}
+// Basic test for hsaKmtAllocMemory
+TEST_F(KFDMemoryTest, MemoryAllocAll) {
+ TEST_START(TESTPROFILE_RUNALL)
+
+ int defaultGPUNode = m_NodeInfo.HsaDefaultGPUNode();
+ unsigned int* pBig = NULL;
+ unsigned int* pSmall = NULL;
+ m_MemoryFlags.ui32.NoNUMABind = 1;
+ HSAuint64 available;
+
+ EXPECT_SUCCESS(hsaKmtAvailableMemory(defaultGPUNode, &available));
+ EXPECT_SUCCESS(hsaKmtAllocMemory(defaultGPUNode, available, m_MemoryFlags, reinterpret_cast<void**>(&pBig)));
+ EXPECT_NE(HSAKMT_STATUS_SUCCESS, hsaKmtAllocMemory(defaultGPUNode, PAGE_SIZE, m_MemoryFlags, reinterpret_cast<void**>(&pSmall)));
+ EXPECT_SUCCESS(hsaKmtFreeMemory(pBig, available));
+ EXPECT_SUCCESS(hsaKmtAllocMemory(defaultGPUNode, PAGE_SIZE, m_MemoryFlags, reinterpret_cast<void**>(&pSmall)));
+ EXPECT_SUCCESS(hsaKmtFreeMemory(pSmall, PAGE_SIZE));
+
+ TEST_END
+}
+
TEST_F(KFDMemoryTest, AccessPPRMem) {
TEST_START(TESTPROFILE_RUNALL)
Using DefaultGPUNode now instead of system memory, usage similar to other tests. Also cleaned up pSmall, which I originally intended to just let float away on the mistaken assumption that it would be cleaned up automatically at the end of the test. Basic test for the new hsaKmtAvailableMemory library call. This is a standalone test, does not modify any of the other tests just to be on the safe side. More elaborate tests coming soon. Signed-off-by: Daniel Phillips <daniel.phillips@amd.com> Change-Id: I645006a89bd8d55ef7b1605611e8ef0c010dad1a --- tests/kfdtest/src/KFDMemoryTest.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)