From: Liam R. Howlett Date: Wed, 20 Jul 2022 02:17:52 +0000 (+0000) Subject: mm: convert vma_lookup() to use mtree_load() X-Git-Tag: howlett/maple/20220722_2~109 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=56c4be7a34a78abdd42a6cad144f00c56035831d;p=users%2Fjedix%2Flinux-maple.git mm: convert vma_lookup() to use mtree_load() Unlike the rbtree, the Maple Tree will return a NULL if there's nothing at a particular address. Since the previous commit dropped the vmacache, it is now possible to consult the tree directly. Link: https://lkml.kernel.org/r/20220504011345.662299-11-Liam.Howlett@oracle.com Link: https://lkml.kernel.org/r/20220621204632.3370049-27-Liam.Howlett@oracle.com Link: https://lkml.kernel.org/r/20220720021727.17018-27-Liam.Howlett@oracle.com Signed-off-by: Liam R. Howlett Signed-off-by: Matthew Wilcox (Oracle) Acked-by: Vlastimil Babka Cc: Catalin Marinas Cc: David Howells 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/include/linux/mm.h b/include/linux/mm.h index 9dda5284fdfd..80fd428f5034 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2756,12 +2756,7 @@ struct vm_area_struct *find_vma_intersection(struct mm_struct *mm, static inline struct vm_area_struct *vma_lookup(struct mm_struct *mm, unsigned long addr) { - struct vm_area_struct *vma = find_vma(mm, addr); - - if (vma && addr < vma->vm_start) - vma = NULL; - - return vma; + return mtree_load(&mm->mm_mt, addr); } static inline unsigned long vm_start_gap(struct vm_area_struct *vma)