summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/ksm.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/ksm.h b/include/linux/ksm.h
index b9cdeba03668..f74c52224840 100644
--- a/include/linux/ksm.h
+++ b/include/linux/ksm.h
@@ -59,6 +59,12 @@ static inline int ksm_fork(struct mm_struct *mm, struct mm_struct *oldmm)
int ret;
if (test_bit(MMF_VM_MERGEABLE, &oldmm->flags)) {
+ long nr_ksm_zero_pages = atomic_long_read(&mm->ksm_zero_pages);
+
+ mm->ksm_merging_pages = 0;
+ mm->ksm_rmap_items = 0;
+ atomic_long_add(nr_ksm_zero_pages, &ksm_zero_pages);
+
ret = __ksm_enter(mm);
if (ret)
return ret;