Re: [PATCH] ksm: set anon_vma of first rmap_item of ksm page to page's anon_vma other than vma's anon_vma

From: Andrew Morton
Date: Thu Jun 23 2016 - 19:49:36 EST


On Thu, 23 Jun 2016 21:33:54 +0800 <zhouxianrong@xxxxxxxxxx> wrote:

> From: z00281421 <z00281421@xxxxxxxxxxxxxxxxxxxx>
>
> set anon_vma of first rmap_item of ksm page to page's anon_vma
> other than vma's anon_vma so that we can lookup all the forked
> vma of kpage via reserve map. thus we can try_to_unmap ksm page
> completely and reclaim or migrate the ksm page successfully and
> need not to merg other forked vma addresses of ksm page with
> building a rmap_item for it ever after.
>
> a forked more mapcount ksm page with partially merged vma addresses and
> a ksm page mapped into non-VM_MERGEABLE vma due to setting MADV_MERGEABLE
> on one of the forked vma can be unmapped completely by try_to_unmap.
>

hm, OK, so this is an efficiency increase rather than a functional
change?

If so, are you able to quantify the benefit? ie, how much faster did
things get?

I'll queue it up and shall await Hugh review (please).