diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/ksm.h | 6 |
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; |
