``max_page_sharing`` tunable. To increase the ratio ``max_page_sharing`` must
 be increased accordingly.
 
+Monitoring KSM events
+=====================
+
+There are some counters in /proc/vmstat that may be used to monitor KSM events.
+KSM might help save memory, it's a tradeoff by may suffering delay on KSM COW
+or on swapping in copy. Those events could help users evaluate whether or how
+to use KSM. For example, if cow_ksm increases too fast, user may decrease the
+range of madvise(, , MADV_MERGEABLE).
+
+cow_ksm
+       is incremented every time a KSM page triggers copy on write (COW)
+       when users try to write to a KSM page, we have to make a copy.
+
+ksm_swpin_copy
+       is incremented every time a KSM page is copied when swapping in
+       note that KSM page might be copied when swapping in because do_swap_page()
+       cannot do all the locking needed to reconstitute a cross-anon_vma KSM page.
+
 --
 Izik Eidus,
 Hugh Dickins, 17 Nov 2009
 
        get_page(vmf->page);
 
        pte_unmap_unlock(vmf->pte, vmf->ptl);
+#ifdef CONFIG_KSM
+       if (PageKsm(vmf->page))
+               count_vm_event(COW_KSM);
+#endif
        return wp_page_copy(vmf);
 }
 
 
        "ksm_swpin_copy",
 #endif
 #endif
+#ifdef CONFIG_KSM
+       "cow_ksm",
+#endif
 #ifdef CONFIG_X86
        "direct_map_level2_splits",
        "direct_map_level3_splits",