From: Liam R. Howlett Date: Wed, 20 Jul 2022 02:18:03 +0000 (+0000) Subject: mm/swapfile: use vma iterator instead of vma linked list X-Git-Tag: howlett/maple/20220816~6 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=20557a851db609bb300efa42f19c14852baf51ad;p=users%2Fjedix%2Flinux-maple.git mm/swapfile: use vma iterator instead of vma linked list unuse_mm() no longer needs to reference the linked list. Link: https://lkml.kernel.org/r/20220504011345.662299-48-Liam.Howlett@oracle.com Link: https://lkml.kernel.org/r/20220621204632.3370049-64-Liam.Howlett@oracle.com Link: https://lkml.kernel.org/r/20220720021727.17018-64-Liam.Howlett@oracle.com Signed-off-by: Liam R. Howlett Acked-by: Vlastimil Babka Cc: Catalin Marinas Cc: David Howells Cc: "Matthew Wilcox (Oracle)" Cc: SeongJae Park Cc: Will Deacon Cc: Davidlohr Bueso Cc: David Hildenbrand Cc: Hulk Robot Cc: Lukas Bulwahn Cc: Sven Schnelle Cc: Yang Yingliang Signed-off-by: Andrew Morton --- diff --git a/mm/swapfile.c b/mm/swapfile.c index 1fdccd2f1422..5c8681a3f1d9 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -1990,14 +1990,16 @@ static int unuse_mm(struct mm_struct *mm, unsigned int type) { struct vm_area_struct *vma; int ret = 0; + VMA_ITERATOR(vmi, mm, 0); mmap_read_lock(mm); - for (vma = mm->mmap; vma; vma = vma->vm_next) { + for_each_vma(vmi, vma) { if (vma->anon_vma) { ret = unuse_vma(vma, type); if (ret) break; } + cond_resched(); } mmap_read_unlock(mm);