lkml.org 
[lkml]   [2019]   [Oct]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] mm/rmap.c: reuse mergeable anon_vma as parent when fork
    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@linux.intel.com>
    >
    >Acked-by: Rik van Riel <riel@surriel.com>
    >

    Thanks

    >--
    >All Rights Reversed.



    --
    Wei Yang
    Help you, Help me

    \
     
     \ /
      Last update: 2019-10-05 01:50    [W:4.878 / U:0.596 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site