diff mbox series

[v4,19/66] mm: Optimize find_exact_vma() to use vma_lookup()

Message ID 20211201142918.921493-20-Liam.Howlett@oracle.com (mailing list archive)
State New
Headers show
Series Introducing the Maple Tree | expand

Commit Message

Liam R. Howlett Dec. 1, 2021, 2:29 p.m. UTC
From: "Liam R. Howlett" <Liam.Howlett@Oracle.com>

Use vma_lookup() to walk the tree to the start value requested.  If
the vma at the start does not match, then the answer is NULL and there
is no need to look at the next vma the way that find_vma() would.

Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
---
 include/linux/mm.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Vlastimil Babka Jan. 12, 2022, 4:31 p.m. UTC | #1
On 12/1/21 15:29, Liam Howlett wrote:
> From: "Liam R. Howlett" <Liam.Howlett@Oracle.com>
> 
> Use vma_lookup() to walk the tree to the start value requested.  If
> the vma at the start does not match, then the answer is NULL and there
> is no need to look at the next vma the way that find_vma() would.
> 
> Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>

Reviewed-by: Vlastimil Babka <vbabka@suse.cz>

> ---
>  include/linux/mm.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index 784f8fec3b65..c08f6d541b8a 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -2879,7 +2879,7 @@ static inline unsigned long vma_pages(struct vm_area_struct *vma)
>  static inline struct vm_area_struct *find_exact_vma(struct mm_struct *mm,
>  				unsigned long vm_start, unsigned long vm_end)
>  {
> -	struct vm_area_struct *vma = find_vma(mm, vm_start);
> +	struct vm_area_struct *vma = vma_lookup(mm, vm_start);
>  
>  	if (vma && (vma->vm_start != vm_start || vma->vm_end != vm_end))
>  		vma = NULL;
diff mbox series

Patch

diff --git a/include/linux/mm.h b/include/linux/mm.h
index 784f8fec3b65..c08f6d541b8a 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2879,7 +2879,7 @@  static inline unsigned long vma_pages(struct vm_area_struct *vma)
 static inline struct vm_area_struct *find_exact_vma(struct mm_struct *mm,
 				unsigned long vm_start, unsigned long vm_end)
 {
-	struct vm_area_struct *vma = find_vma(mm, vm_start);
+	struct vm_area_struct *vma = vma_lookup(mm, vm_start);
 
 	if (vma && (vma->vm_start != vm_start || vma->vm_end != vm_end))
 		vma = NULL;