On 7/10/26 22:16, Lorenzo Stoakes wrote:
> Update the file comment to clarify that both file-backed and anonymous
> interval trees are provided, referencing the relevant data types for
> clarity.
> 
> Also add comments to indicate which parts of the file apply to each.
> 
> While we're here, convert the VM_BUG_ON_VMA() to VM_WARN_ON_ONCE_VMA().
> 
> Reviewed-by: Pedro Falcato <[email protected]>
> Reviewed-by: Gregory Price <[email protected]>
> Signed-off-by: Lorenzo Stoakes <[email protected]>

Reviewed-by: Vlastimil Babka (SUSE) <[email protected]>

> ---
>  mm/interval_tree.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/mm/interval_tree.c b/mm/interval_tree.c
> index 344d1f5946c7..2d50bc6228c4 100644
> --- a/mm/interval_tree.c
> +++ b/mm/interval_tree.c
> @@ -1,6 +1,7 @@
>  // SPDX-License-Identifier: GPL-2.0-only
>  /*
> - * mm/interval_tree.c - interval tree for mapping->i_mmap
> + * mm/interval_tree.c - interval tree for address_space->i_mmap and
> + * anon_vma->rb_root
>   *
>   * Copyright (C) 2012, Michel Lespinasse <[email protected]>
>   */
> @@ -10,6 +11,8 @@
>  #include <linux/rmap.h>
>  #include <linux/interval_tree_generic.h>
>  
> +/* File-backed interval tree (address_space->i_mmap) */
> +
>  INTERVAL_TREE_DEFINE(struct vm_area_struct, shared.rb,
>                    unsigned long, shared.rb_subtree_last,
>                    vma_start_pgoff, vma_last_pgoff, /* empty */, 
> vma_interval_tree)
> @@ -23,7 +26,7 @@ void vma_interval_tree_insert_after(struct vm_area_struct 
> *node,
>       struct vm_area_struct *parent;
>       unsigned long last = vma_last_pgoff(node);
>  
> -     VM_BUG_ON_VMA(vma_start_pgoff(node) != vma_start_pgoff(prev), node);
> +     VM_WARN_ON_ONCE_VMA(vma_start_pgoff(node) != vma_start_pgoff(prev), 
> node);
>  
>       if (!prev->shared.rb.rb_right) {
>               parent = prev;
> @@ -48,6 +51,8 @@ void vma_interval_tree_insert_after(struct vm_area_struct 
> *node,
>                           &vma_interval_tree_augment);
>  }
>  
> +/* Anonymous interval tree (anon_vma->rb_root) */
> +
>  static inline unsigned long avc_start_pgoff(struct anon_vma_chain *avc)
>  {
>       return vma_start_pgoff(avc->vma);
> 


Reply via email to