On Sat, 2019-10-05 at 00:06 +0800, Wei Yang wrote: > In function __anon_vma_prepare(), we will try to find anon_vma if it > is > possible to reuse it. While on fork, the logic is different. > > Since commit 5beb49305251 ("mm: change anon_vma linking to fix > multi-process server scalability issue"), function anon_vma_clone() > tries to allocate new anon_vma for child process. But the logic here > will allocate a new anon_vma for each vma, even in parent this vma > is mergeable and share the same anon_vma with its sibling. This may > do > better for scalability issue, while it is not necessary to do so > especially after interval tree is used. > > Commit 7a3ef208e662 ("mm: prevent endless growth of anon_vma > hierarchy") > tries to reuse some anon_vma by counting child anon_vma and attached > vmas. While for those mergeable anon_vmas, we can just reuse it and > not > necessary to go through the logic. > > After this change, kernel build test reduces 20% anon_vma allocation. > > Signed-off-by: Wei Yang <richardw.yang@xxxxxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxxx> -- All Rights Reversed.
Attachment:
signature.asc
Description: This is a digitally signed message part