mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-09-21 20:22:13 +08:00
iommufd/selftest: Fix tests to use MOCK_PAGE_SIZE based buffer sizes
commita9af47e382
("iommufd/selftest: Test IOMMU_HWPT_GET_DIRTY_BITMAP") added tests covering edge cases in the boundaries of iova bitmap. Although it used buffer sizes thinking in PAGE_SIZE (4K) as opposed to the MOCK_PAGE_SIZE (2K) that is used in iommufd mock selftests. This meant that isn't correctly exercising everything specifically the u32 and 4K bitmap test cases. Fix selftests buffer sizes to be based on mock page size. Link: https://lore.kernel.org/r/20240627110105.62325-5-joao.m.martins@oracle.com Reported-by: Kevin Tian <kevin.tian@intel.com> Closes: https://lore.kernel.org/linux-iommu/96efb6cf-a41c-420f-9673-2f0b682cac8c@oracle.com/ Fixes:a9af47e382
("iommufd/selftest: Test IOMMU_HWPT_GET_DIRTY_BITMAP") Signed-off-by: Joao Martins <joao.m.martins@oracle.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Tested-by: Matt Ochs <mochs@nvidia.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
33335584eb
commit
ffa3c799ce
@ -1797,50 +1797,50 @@ FIXTURE_VARIANT_ADD(iommufd_dirty_tracking, domain_dirty16k)
|
||||
.buffer_size = 16UL * 1024UL,
|
||||
};
|
||||
|
||||
FIXTURE_VARIANT_ADD(iommufd_dirty_tracking, domain_dirty128k)
|
||||
FIXTURE_VARIANT_ADD(iommufd_dirty_tracking, domain_dirty64k)
|
||||
{
|
||||
/* one u32 index bitmap */
|
||||
.buffer_size = 64UL * 1024UL,
|
||||
};
|
||||
|
||||
FIXTURE_VARIANT_ADD(iommufd_dirty_tracking, domain_dirty128k)
|
||||
{
|
||||
/* one u64 index bitmap */
|
||||
.buffer_size = 128UL * 1024UL,
|
||||
};
|
||||
|
||||
FIXTURE_VARIANT_ADD(iommufd_dirty_tracking, domain_dirty256k)
|
||||
{
|
||||
/* one u64 index bitmap */
|
||||
.buffer_size = 256UL * 1024UL,
|
||||
};
|
||||
|
||||
FIXTURE_VARIANT_ADD(iommufd_dirty_tracking, domain_dirty640k)
|
||||
FIXTURE_VARIANT_ADD(iommufd_dirty_tracking, domain_dirty320k)
|
||||
{
|
||||
/* two u64 index and trailing end bitmap */
|
||||
.buffer_size = 640UL * 1024UL,
|
||||
.buffer_size = 320UL * 1024UL,
|
||||
};
|
||||
|
||||
FIXTURE_VARIANT_ADD(iommufd_dirty_tracking, domain_dirty64M)
|
||||
{
|
||||
/* 4K bitmap (64M IOVA range) */
|
||||
.buffer_size = 64UL * 1024UL * 1024UL,
|
||||
};
|
||||
|
||||
FIXTURE_VARIANT_ADD(iommufd_dirty_tracking, domain_dirty64M_huge)
|
||||
{
|
||||
/* 4K bitmap (64M IOVA range) */
|
||||
.buffer_size = 64UL * 1024UL * 1024UL,
|
||||
.hugepages = true,
|
||||
};
|
||||
|
||||
FIXTURE_VARIANT_ADD(iommufd_dirty_tracking, domain_dirty128M)
|
||||
{
|
||||
/* 4K bitmap (128M IOVA range) */
|
||||
/* 8K bitmap (128M IOVA range) */
|
||||
.buffer_size = 128UL * 1024UL * 1024UL,
|
||||
};
|
||||
|
||||
FIXTURE_VARIANT_ADD(iommufd_dirty_tracking, domain_dirty128M_huge)
|
||||
{
|
||||
/* 4K bitmap (128M IOVA range) */
|
||||
/* 8K bitmap (128M IOVA range) */
|
||||
.buffer_size = 128UL * 1024UL * 1024UL,
|
||||
.hugepages = true,
|
||||
};
|
||||
|
||||
FIXTURE_VARIANT_ADD(iommufd_dirty_tracking, domain_dirty256M)
|
||||
{
|
||||
/* 8K bitmap (256M IOVA range) */
|
||||
.buffer_size = 256UL * 1024UL * 1024UL,
|
||||
};
|
||||
|
||||
FIXTURE_VARIANT_ADD(iommufd_dirty_tracking, domain_dirty256M_huge)
|
||||
{
|
||||
/* 8K bitmap (256M IOVA range) */
|
||||
.buffer_size = 256UL * 1024UL * 1024UL,
|
||||
.hugepages = true,
|
||||
};
|
||||
|
||||
TEST_F(iommufd_dirty_tracking, enforce_dirty)
|
||||
{
|
||||
uint32_t ioas_id, stddev_id, idev_id;
|
||||
|
Loading…
Reference in New Issue
Block a user