From: Liam R. Howlett Date: Mon, 4 Jan 2021 19:25:54 +0000 (-0500) Subject: arch/powerpc: Remove mmap linked list from mm/book2s32/tlb X-Git-Tag: howlett/maple_spf/20210104~40 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=5548550f9ed9addc7be874f35a030989dfd720b1;p=users%2Fjedix%2Flinux-maple.git arch/powerpc: Remove mmap linked list from mm/book2s32/tlb Start using the maple tree Signed-off-by: Liam R. Howlett --- diff --git a/arch/powerpc/mm/book3s32/tlb.c b/arch/powerpc/mm/book3s32/tlb.c index 19f0ef950d77..0ba965c48f9d 100644 --- a/arch/powerpc/mm/book3s32/tlb.c +++ b/arch/powerpc/mm/book3s32/tlb.c @@ -81,6 +81,7 @@ EXPORT_SYMBOL(hash__flush_range); void hash__flush_tlb_mm(struct mm_struct *mm) { struct vm_area_struct *mp; + MA_STATE(mas, &mm->mm_mt, 0, 0); /* * It is safe to go down the mm's list of vmas when called @@ -88,8 +89,8 @@ void hash__flush_tlb_mm(struct mm_struct *mm) * unmap_region or exit_mmap, but not from vmtruncate on SMP - * but it seems dup_mmap is the only SMP case which gets here. */ - for (mp = mm->mmap; mp != NULL; mp = mp->vm_next) - hash__flush_range(mp->vm_mm, mp->vm_start, mp->vm_end); + mas_for_each(&mas, mp, -1) + flush_range(mp->vm_mm, mp->vm_start, mp->vm_end); } EXPORT_SYMBOL(hash__flush_tlb_mm);