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.
Change-Id: I738600d4b74cc5dba6b857e4c793f6b14b7d2283 Signed-off-by: Daniel Phillips daniel.phillips@amd.com --- tests/kfdtest/src/KFDMemoryTest.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
diff --git a/tests/kfdtest/src/KFDMemoryTest.cpp b/tests/kfdtest/src/KFDMemoryTest.cpp index 9f62727..1f93928 100644 --- a/tests/kfdtest/src/KFDMemoryTest.cpp +++ b/tests/kfdtest/src/KFDMemoryTest.cpp @@ -595,6 +595,23 @@ TEST_F(KFDMemoryTest, MemoryAlloc) { TEST_END }
+// Basic test for hsaKmtAllocMemory +TEST_F(KFDMemoryTest, MemoryAllocAll) { + TEST_START(TESTPROFILE_RUNALL) + + unsigned int* pBig = NULL; + unsigned int* pSmall = NULL; + m_MemoryFlags.ui32.NoNUMABind = 1; + HSAuint64 available; + EXPECT_SUCCESS(hsaKmtAvailableMemory(0 /* system */, &available)); + EXPECT_SUCCESS(hsaKmtAllocMemory(0 /* system */, available, m_MemoryFlags, reinterpret_cast<void**>(&pBig))); + EXPECT_NE(HSAKMT_STATUS_SUCCESS, hsaKmtAllocMemory(0 /* system */, PAGE_SIZE, m_MemoryFlags, reinterpret_cast<void**>(&pSmall))); + EXPECT_SUCCESS(hsaKmtFreeMemory(pBig, available)); + EXPECT_SUCCESS(hsaKmtAllocMemory(0 /* system */, PAGE_SIZE, m_MemoryFlags, reinterpret_cast<void**>(&pSmall))); + + TEST_END +} + TEST_F(KFDMemoryTest, AccessPPRMem) { TEST_START(TESTPROFILE_RUNALL)
On 2022-01-10 4:48 p.m., Daniel Phillips wrote:
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.
Change-Id: I738600d4b74cc5dba6b857e4c793f6b14b7d2283 Signed-off-by: Daniel Phillips daniel.phillips@amd.com
tests/kfdtest/src/KFDMemoryTest.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
diff --git a/tests/kfdtest/src/KFDMemoryTest.cpp b/tests/kfdtest/src/KFDMemoryTest.cpp index 9f62727..1f93928 100644 --- a/tests/kfdtest/src/KFDMemoryTest.cpp +++ b/tests/kfdtest/src/KFDMemoryTest.cpp @@ -595,6 +595,23 @@ TEST_F(KFDMemoryTest, MemoryAlloc) { TEST_END }
+// Basic test for hsaKmtAllocMemory +TEST_F(KFDMemoryTest, MemoryAllocAll) {
- TEST_START(TESTPROFILE_RUNALL)
- unsigned int* pBig = NULL;
- unsigned int* pSmall = NULL;
- m_MemoryFlags.ui32.NoNUMABind = 1;
- HSAuint64 available;
- EXPECT_SUCCESS(hsaKmtAvailableMemory(0 /* system */, &available));
I don't think you've even implemented this API for system memory. The system memory node doesn't have a valid GPUID, so the ioctl will fail.
I'd expect this test to work only for VRAM.
- EXPECT_SUCCESS(hsaKmtAllocMemory(0 /* system */, available, m_MemoryFlags, reinterpret_cast<void**>(&pBig)));
- EXPECT_NE(HSAKMT_STATUS_SUCCESS, hsaKmtAllocMemory(0 /* system */, PAGE_SIZE, m_MemoryFlags, reinterpret_cast<void**>(&pSmall)));
- EXPECT_SUCCESS(hsaKmtFreeMemory(pBig, available));
- EXPECT_SUCCESS(hsaKmtAllocMemory(0 /* system */, PAGE_SIZE, m_MemoryFlags, reinterpret_cast<void**>(&pSmall)));
You're leaking pSmall here.
Regards, Felix
- TEST_END
+}
- TEST_F(KFDMemoryTest, AccessPPRMem) { TEST_START(TESTPROFILE_RUNALL)
dri-devel@lists.freedesktop.org