VMA containing CDM memory should be excluded from KSM merging. This change makes madvise(MADV_MERGEABLE) request on target VMA to be ignored.
Signed-off-by: Anshuman Khandual <khand...@linux.vnet.ibm.com> --- mm/ksm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mm/ksm.c b/mm/ksm.c index 9ae6011..2fb8939 100644 --- a/mm/ksm.c +++ b/mm/ksm.c @@ -37,6 +37,7 @@ #include <linux/freezer.h> #include <linux/oom.h> #include <linux/numa.h> +#include <linux/mempolicy.h> #include <asm/tlbflush.h> #include "internal.h" @@ -1751,6 +1752,9 @@ int ksm_madvise(struct vm_area_struct *vma, unsigned long start, VM_HUGETLB | VM_MIXEDMAP)) return 0; /* just ignore the advice */ + if (is_cdm_vma(vma)) + return 0; + #ifdef VM_SAO if (*vm_flags & VM_SAO) return 0; -- 2.9.3