On Fri, Oct 04, 2019 at 07:45:26PM -0400, Rik van Riel wrote: >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> > Thanks >-- >All Rights Reversed. -- Wei Yang Help you, Help me