On Wed, May 08, 2024 at 10:56:34AM -0400, Zi Yan wrote: > Lance is improving try_to_unmap_one() to support unmapping PMD THP as a whole, > so he moves split_huge_pmd_address() inside while (page_vma_mapped_walk(&pvmw)) > and after mmu_notifier_invalidate_range_start() as split_huge_pmd_locked() > and does not include the mmu notifier ops inside split_huge_pmd_address(). > I wonder if that could cause issues, since the mmu_notifier_invalidate_range_start() > before the while loop only has range of the original address and > split huge pmd can affect the entire PMD address range and these two ranges > might not be the same. That does not sound entirely good.. I suppose it depends on what split does, if the MM page table has the same translation before and after split then perhaps no invalidation is even necessary. Jason