mm/rmap: rename anon_vma_interval_tree_*() params and use pgoff_t

Rename parameters used by anon_vma_interval_tree_*() functions: 'node' to
'avc', 'start/first' to 'pgoff_start', and 'last' to 'pgoff_last' to make
clear what is being passed.

Also, express page offsets in terms of pgoff_t to be consistent.

No functional change intended.

Link: https://lore.kernel.org/20260710-b4-pre-scalable-cow-v2-10-2a5aa403d977@kernel.org
Signed-off-by: Lorenzo Stoakes <ljs@kernel.org>
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: Pedro Falcato <pfalcato@suse.de>
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>
This commit is contained in:
Lorenzo Stoakes 2026-07-10 21:16:51 +01:00 committed by Andrew Morton
parent 68364437ec
commit 0b099cc229
2 changed files with 28 additions and 25 deletions

View File

@ -4114,23 +4114,26 @@ mapping_rmap_tree_iter_next(struct vm_area_struct *vma,
vma; vma = mapping_rmap_tree_iter_next(vma, pgoff_start, \
pgoff_last))
void anon_vma_interval_tree_insert(struct anon_vma_chain *node,
void anon_vma_interval_tree_insert(struct anon_vma_chain *avc,
struct anon_vma *anon_vma);
void anon_vma_interval_tree_remove(struct anon_vma_chain *node,
void anon_vma_interval_tree_remove(struct anon_vma_chain *avc,
struct anon_vma *anon_vma);
struct anon_vma_chain *
anon_vma_interval_tree_iter_first(struct anon_vma *anon_vma,
unsigned long start, unsigned long last);
pgoff_t pgoff_start, pgoff_t pgoff_last);
struct anon_vma_chain *
anon_vma_interval_tree_iter_next(struct anon_vma_chain *avc,
unsigned long start, unsigned long last);
pgoff_t pgoff_start, pgoff_t pgoff_last);
#ifdef CONFIG_DEBUG_VM_RB
void anon_vma_interval_tree_verify(struct anon_vma_chain *node);
void anon_vma_interval_tree_verify(struct anon_vma_chain *avc);
#endif
#define anon_vma_interval_tree_foreach(avc, root, start, last) \
for (avc = anon_vma_interval_tree_iter_first(root, start, last); \
avc; avc = anon_vma_interval_tree_iter_next(avc, start, last))
#define anon_vma_interval_tree_foreach(avc, anon_vma, pgoff_start, pgoff_last) \
for (avc = anon_vma_interval_tree_iter_first(anon_vma, pgoff_start, \
pgoff_last); \
avc; avc = anon_vma_interval_tree_iter_next(avc, pgoff_start, \
pgoff_last))
/* mmap.c */
extern int __vm_enough_memory(const struct mm_struct *mm, long pages, int cap_sys_admin);

View File

@ -81,55 +81,55 @@ mapping_rmap_tree_iter_next(struct vm_area_struct *vma,
/* Anonymous interval tree (anon_vma->rb_root) */
static unsigned long avc_start_pgoff(struct anon_vma_chain *avc)
static pgoff_t avc_start_pgoff(struct anon_vma_chain *avc)
{
return vma_start_pgoff(avc->vma);
}
static unsigned long avc_last_pgoff(struct anon_vma_chain *avc)
static pgoff_t avc_last_pgoff(struct anon_vma_chain *avc)
{
return vma_last_pgoff(avc->vma);
}
INTERVAL_TREE_DEFINE(struct anon_vma_chain, rb, unsigned long, rb_subtree_last,
INTERVAL_TREE_DEFINE(struct anon_vma_chain, rb, pgoff_t, rb_subtree_last,
avc_start_pgoff, avc_last_pgoff,
static, __anon_vma_interval_tree)
void anon_vma_interval_tree_insert(struct anon_vma_chain *node,
void anon_vma_interval_tree_insert(struct anon_vma_chain *avc,
struct anon_vma *anon_vma)
{
#ifdef CONFIG_DEBUG_VM_RB
node->cached_vma_start = avc_start_pgoff(node);
node->cached_vma_last = avc_last_pgoff(node);
avc->cached_vma_start = avc_start_pgoff(avc);
avc->cached_vma_last = avc_last_pgoff(avc);
#endif
__anon_vma_interval_tree_insert(node, &anon_vma->rb_root);
__anon_vma_interval_tree_insert(avc, &anon_vma->rb_root);
}
void anon_vma_interval_tree_remove(struct anon_vma_chain *node,
void anon_vma_interval_tree_remove(struct anon_vma_chain *avc,
struct anon_vma *anon_vma)
{
__anon_vma_interval_tree_remove(node, &anon_vma->rb_root);
__anon_vma_interval_tree_remove(avc, &anon_vma->rb_root);
}
struct anon_vma_chain *
anon_vma_interval_tree_iter_first(struct anon_vma *anon_vma,
unsigned long first, unsigned long last)
pgoff_t pgoff_start, pgoff_t pgoff_last)
{
return __anon_vma_interval_tree_iter_first(&anon_vma->rb_root,
first, last);
pgoff_start, pgoff_last);
}
struct anon_vma_chain *
anon_vma_interval_tree_iter_next(struct anon_vma_chain *node,
unsigned long first, unsigned long last)
anon_vma_interval_tree_iter_next(struct anon_vma_chain *avc,
pgoff_t pgoff_start, pgoff_t pgoff_last)
{
return __anon_vma_interval_tree_iter_next(node, first, last);
return __anon_vma_interval_tree_iter_next(avc, pgoff_start, pgoff_last);
}
#ifdef CONFIG_DEBUG_VM_RB
void anon_vma_interval_tree_verify(struct anon_vma_chain *node)
void anon_vma_interval_tree_verify(struct anon_vma_chain *avc)
{
WARN_ON_ONCE(node->cached_vma_start != avc_start_pgoff(node));
WARN_ON_ONCE(node->cached_vma_last != avc_last_pgoff(node));
WARN_ON_ONCE(avc->cached_vma_start != avc_start_pgoff(avc));
WARN_ON_ONCE(avc->cached_vma_last != avc_last_pgoff(avc));
}
#endif