This series of commits mainly adds the update_mmu_tlb_range() to batch update tlb in an address range and implement update_mmu_tlb() using update_mmu_tlb_range(). After the commit 19eaf44954df ("mm: thp: support allocation of anonymous multi-size THP"), We may need to batch update tlb of a certain address range by calling update_mmu_tlb() in a loop. Using the update_mmu_tlb_range(), we can simplify the code and possibly reduce the execution of some unnecessary code in some architectures. Thanks, Bang Changes since v3 [3]: - Add acked-by from David Hildenbrand (patch #2 and patch #3) - thanks! - Add reviewed-by from Lance Yang (patch #3) - thanks! - Move the general architecture update_mmu_tlb_range() from patch #2 to patch #1 (per David) - Update patch #2 commit log (per David) Changes since v2 [2]: - Use generic architecture to implement update_mmu_tlb() (per Ryan) Changes since v1 [1]: - Add __HAVE_ARCH_UPDATE_MMU_TLB_RANGE macro (per Lance Yang) [1] https://lore.kernel.org/linux-mm/20240429103346.59115-1-libang.li@xxxxxxxxxxxx/ [2] https://lore.kernel.org/linux-mm/20240506155120.83105-1-libang.li@xxxxxxxxxxxx/ [3] https://lore.kernel.org/linux-mm/20240518074914.52170-1-libang.li@xxxxxxxxxxxx/ Bang Li (3): mm: Add update_mmu_tlb_range() mm: implement update_mmu_tlb() using update_mmu_tlb_range() mm: Use update_mmu_tlb_range() to simplify code arch/loongarch/include/asm/pgtable.h | 4 ++-- arch/mips/include/asm/pgtable.h | 4 ++-- arch/riscv/include/asm/pgtable.h | 4 ++-- arch/xtensa/include/asm/pgtable.h | 6 +++--- arch/xtensa/mm/tlb.c | 6 +++--- include/linux/pgtable.h | 11 ++++++++--- mm/memory.c | 4 +--- 7 files changed, 21 insertions(+), 18 deletions(-) -- 2.19.1.6.gb485710b