On Thu, Jan 23, 2025 at 08:42:36PM -0800, Hugh Dickins wrote: > The changelog of commit b67fbebd4cf9 ("mmu_gather: Force tlb-flush > VM_PFNMAP vmas") has not helped me either. Nor could I locate any > discussion (Jann, Linus, Peter, Will?) that led up to it. Hmm, that was probably on security -- I should have those mails around somewhere, I'll see if I can dig them up. > To me, Peter's patch looks much like yours, except wth different > names and comments, plus the "vma" error you point out below. Yes, 3 differences: - naming; - the extra check; - the vma_pfn clearing condition. Under the assumption that this is all about those PFNs, the argument (as also outlined in the email to Roman just now) is that you only need to flush if both: you have pending TLBI for PFN and are indeed about to unlink a PFN vma. If we've flushed the relevant PFNs earlier, for whatever reason, batching, or the arch has !MERGE_VMAS or whatever, then we do not need to flush again. So clearing vma_pfn in __tlb_reset_range() is the right place. Similarly, if we don't ever actually free/unlink the PFN vma, we also don't care.