mirror of
https://github.com/torvalds/linux.git
synced 2026-06-03 03:53:37 +02:00
mm/rmap: remove anon_vma_merge() function
This function is confusing, we already have the concept of anon_vma merge to adjacent VMA's anon_vma's to increase probability of anon_vma compatibility and therefore VMA merge (see is_mergeable_anon_vma() etc.), as well as anon_vma reuse, along side the usual VMA merge logic. We can remove the anon_vma check as it is redundant - a merge would not have been permitted with removal if the anon_vma's were not the same (and in the case of an unfaulted/faulted merge, we would have already set the unfaulted VMA's anon_vma to vp->remove->anon_vma in dup_anon_vma()). Avoid overloading this term when we're very simply unlinking anon_vma state from a removed VMA upon merge. Link: https://lkml.kernel.org/r/56bbe45e309f7af197b1c4f94a9a0c8931ff2d29.1768746221.git.lorenzo.stoakes@oracle.com Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Reviewed-by: Suren Baghdasaryan <surenb@google.com> Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com> Cc: Barry Song <v-songbaohua@oppo.com> Cc: Chris Li <chriscli@google.com> Cc: David Hildenbrand <david@kernel.org> Cc: Harry Yoo <harry.yoo@oracle.com> Cc: Jann Horn <jannh@google.com> Cc: Michal Hocko <mhocko@suse.com> Cc: Mike Rapoport <rppt@kernel.org> Cc: Pedro Falcato <pfalcato@suse.de> Cc: Rik van Riel <riel@surriel.com> Cc: Shakeel Butt <shakeel.butt@linux.dev> Cc: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
535f6b8df1
commit
53eb797ffc
|
|
@ -165,13 +165,6 @@ static inline int anon_vma_prepare(struct vm_area_struct *vma)
|
|||
return __anon_vma_prepare(vma);
|
||||
}
|
||||
|
||||
static inline void anon_vma_merge(struct vm_area_struct *vma,
|
||||
struct vm_area_struct *next)
|
||||
{
|
||||
VM_BUG_ON_VMA(vma->anon_vma != next->anon_vma, vma);
|
||||
unlink_anon_vmas(next);
|
||||
}
|
||||
|
||||
struct anon_vma *folio_get_anon_vma(const struct folio *folio);
|
||||
|
||||
#ifdef CONFIG_MM_ID
|
||||
|
|
|
|||
2
mm/vma.c
2
mm/vma.c
|
|
@ -381,7 +381,7 @@ static void vma_complete(struct vma_prepare *vp, struct vma_iterator *vmi,
|
|||
fput(vp->file);
|
||||
}
|
||||
if (vp->remove->anon_vma)
|
||||
anon_vma_merge(vp->vma, vp->remove);
|
||||
unlink_anon_vmas(vp->remove);
|
||||
mm->map_count--;
|
||||
mpol_put(vma_policy(vp->remove));
|
||||
if (!vp->remove2)
|
||||
|
|
|
|||
|
|
@ -1265,11 +1265,6 @@ static inline void i_mmap_unlock_write(struct address_space *mapping)
|
|||
{
|
||||
}
|
||||
|
||||
static inline void anon_vma_merge(struct vm_area_struct *vma,
|
||||
struct vm_area_struct *next)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int userfaultfd_unmap_prep(struct vm_area_struct *vma,
|
||||
unsigned long start,
|
||||
unsigned long end,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user