Message ID | 20220110214822.3175297-1-daniel.phillips@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/1] Add test for hsaKmtAvailableMemory available memory inquiry | expand |
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) >
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)
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(+)