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.