Re: [PATCH v2 1/2] mm/rmap: fix and simplify reusing mergeable anon_vma as parent when fork

From: Wei Yang
Date: Tue Jan 14 2020 - 20:20:54 EST


On Tue, Jan 14, 2020 at 10:42:52PM +0800, Li Xinhai wrote:
>On 2020-01-13 at 19:07 Konstantin Khlebnikov wrote:
>
>>
>>Because I want to keep both heuristics.
>>This seems most sane way of interaction between them.
>>
>>Unfortunately even this patch is slightly broken.
>>Condition prev->anon_vma->parent == pvma->anon_vma doesn't guarantee that
>>prev vma has the same set of anon-vmas like current vma.
>>I.e. anon_vma_clone(vma, prev) might be not enough for keeping connectivity.
>
>New patch is required?

My suggestion is separate the fix and new approach instead of mess them into
one patch.

>It is necessary to call anon_vma_clone(vma, pvma) to link all anon_vma which
>currently linked by pvma, then link the prev->anon_vma to vma. By this way,
>connectivity of vma should be maintained, right?
>
>>Building such case isn't trivial job but I see nothing that could prevent it.
>>
>

--
Wei Yang
Help you, Help me