> > diff --git a/mm/ksm.c b/mm/ksm.c > > index 652c088f9786..72c0722be280 100644 > > --- a/mm/ksm.c > > +++ b/mm/ksm.c > > @@ -276,6 +276,9 @@ static unsigned int zero_checksum __read_mostly; > > /* Whether to merge empty (zeroed) pages with actual zero pages */ > > static bool ksm_use_zero_pages __read_mostly; > > > > +/* The number of zero pages placed by KSM use_zero_pages */ > > +static unsigned long ksm_zero_pages_sharing; > > Does this count how many zero pages are currently placed or how many > rmap items with ZERO_PAGE_FLAG are in the system? Yes, it counts how many ksm zero pages are currently placed. and we use rmap items with ZERO_PAGE_FLAG to record these zero page, similar to ksm_pages_sharing and ksm_pages_shared which are recorded by the rmap_items with STABLE_FLAG. > > IOW, if someone triggers MADV_DONTNEED on such a zeropage, the counter > will not get updated, correct? Well, the counter can get updated as someone triggers MADV_DONTNEED on such a zeropage. You might write a simple code to test it.