From: Lokesh Gidra Date: Sat, 16 Aug 2025 19:11:23 +0000 (-0700) Subject: userfaultfd-opportunistic-tlb-flush-batching-for-present-pages-in-move-v6 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=9583c2a3e08eee4d14731548bd9d2e46f2810acf;p=users%2Fjedix%2Flinux-maple.git userfaultfd-opportunistic-tlb-flush-batching-for-present-pages-in-move-v6 make calculation of largest extent that can be batched unconditional on length, per Barry Link: https://lkml.kernel.org/r/20250816191123.3601561-1-lokeshgidra@google.com Signed-off-by: Lokesh Gidra Acked-by: Peter Xu Reviewed-by: Barry Song Cc: Suren Baghdasaryan Cc: Kalesh Singh Cc: Barry Song Cc: David Hildenbrand Cc: Peter Xu Signed-off-by: Andrew Morton --- diff --git a/mm/userfaultfd.c b/mm/userfaultfd.c index 4624ec9cd126..50aaa8dcd24c 100644 --- a/mm/userfaultfd.c +++ b/mm/userfaultfd.c @@ -1081,11 +1081,8 @@ static long move_present_ptes(struct mm_struct *mm, unsigned long src_start = src_addr; unsigned long src_end; - if (len > PAGE_SIZE) { - len = pmd_addr_end(dst_addr, dst_addr + len) - dst_addr; - src_end = pmd_addr_end(src_addr, src_addr + len); - } else - src_end = src_addr + len; + len = pmd_addr_end(dst_addr, dst_addr + len) - dst_addr; + src_end = pmd_addr_end(src_addr, src_addr + len); flush_cache_range(src_vma, src_addr, src_end); double_pt_lock(dst_ptl, src_ptl);