Re: [PATCH v4 2/3] mm/rmap: integrate PMD-mapped folio splitting into pagewalk loop
From: Jason Gunthorpe
Date: Wed May 08 2024 - 11:53:06 EST
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