diff options
| author | Lorenzo Stoakes <ljs@kernel.org> | 2026-07-10 21:16:50 +0100 |
|---|---|---|
| committer | Andrew Morton <akpm@linux-foundation.org> | 2026-08-04 19:18:58 -0700 |
| commit | 68364437ec782b7dac7c7eca3b1f177a9815f3ff (patch) | |
| tree | e8a3b57f0380e1ebd165a2cc15c4a49316805ce8 /include | |
| parent | 4b7a90a48b9999c33e06dcce067a2d1540df0703 (diff) | |
| download | linux-next-68364437ec782b7dac7c7eca3b1f177a9815f3ff.tar.gz linux-next-68364437ec782b7dac7c7eca3b1f177a9815f3ff.zip | |
mm/rmap: parameterise anon_vma_interval_tree_*() by anon_vma
Similar to what we did with mapping_rmap_tree*(), let's declare
anon_vma_interval_tree*() in terms of anon_vma rather than rb_root_cached.
In each case the rb tree referenced is &anon_vma->rb_root, so just pass
anon_vma and the functions can figure this out themselves.
Also update the VMA userland tests to reflect the change.
No functional change intended.
Link: https://lore.kernel.org/20260710-b4-pre-scalable-cow-v2-9-2a5aa403d977@kernel.org
Signed-off-by: Lorenzo Stoakes <ljs@kernel.org>
Reviewed-by: Pedro Falcato <pfalcato@suse.de>
Reviewed-by: Gregory Price <gourry@gourry.net>
Reviewed-by: Vlastimil Babka (SUSE) <vbabka@kernel.org>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Cc: Ackerley Tng <ackerleytng@google.com>
Cc: David Hildenbrand (Arm) <david@kernel.org>
Cc: Kai Huang <kai.huang@intel.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: SJ Park <sj@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Liam R. Howlett (Oracle) <liam@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/mm.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h index 38132060ac58..efbe0eebdcda 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -4115,14 +4115,15 @@ mapping_rmap_tree_iter_next(struct vm_area_struct *vma, pgoff_last)) void anon_vma_interval_tree_insert(struct anon_vma_chain *node, - struct rb_root_cached *root); + struct anon_vma *anon_vma); void anon_vma_interval_tree_remove(struct anon_vma_chain *node, - struct rb_root_cached *root); + struct anon_vma *anon_vma); struct anon_vma_chain * -anon_vma_interval_tree_iter_first(struct rb_root_cached *root, +anon_vma_interval_tree_iter_first(struct anon_vma *anon_vma, unsigned long start, unsigned long last); -struct anon_vma_chain *anon_vma_interval_tree_iter_next( - struct anon_vma_chain *node, unsigned long start, unsigned long last); +struct anon_vma_chain * +anon_vma_interval_tree_iter_next(struct anon_vma_chain *avc, + unsigned long start, unsigned long last); #ifdef CONFIG_DEBUG_VM_RB void anon_vma_interval_tree_verify(struct anon_vma_chain *node); #endif |
