On 09/03/2018 10:07 PM, Aneesh Kumar K.V wrote:
This patch series add support for migrating compound pages if we find them in the CMA area before taking long term page reference for VFIO.
We now call lru_add_drain_all instead of lru_add_drain() which means we now have higher chances of isolate_lru_page succeeding. The patch also migrate all the pages in one call, instead of one page at a time.
Testing: * TODO: test with hugetlb backed guest ram. * Testing done with a code change as below - if (is_migrate_cma_page(pages[i]) && migrate_allow) { + if (migrate_allow) { ... + migrate_allow = false; Aneesh Kumar K.V (3): mm: Export alloc_migrate_huge_page powerpc/mm/iommu: Allow large IOMMU page size only for hugetlb backing powerpc/mm/iommu: Allow migration of cma allocated pages during mm_iommu_get arch/powerpc/mm/mmu_context_iommu.c | 209 +++++++++++++++++----------- include/linux/hugetlb.h | 2 + mm/hugetlb.c | 4 +- 3 files changed, 128 insertions(+), 87 deletions(-)