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); >
