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

From: Wei Yang
Date: Sat Jan 18 2020 - 09:00:38 EST


On Sat, Jan 18, 2020 at 11:04:21AM +0300, Konstantin Khlebnikov wrote:
>On 15/01/2020 04.20, Wei Yang wrote:
>> 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.
>
>Yep, it's messy. Maybe it's could be better to revert recent change,
>apply second patch from this set and write something new after that.
>

It is up to you.

>>
>> > 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